Как я могу реорганизовать следующее? У меня есть некоторые значения, хранящиеся в моем файле YAML в виде вложенных массивов, но я хочу, чтобы все мои транзакции были переведены в два метода get и set. Это работает, но явно ограничено и громоздко. Он чувствует себя не так.Есть ли способ передать «адреса массива» методу?
module Persistance
@store = YAML::Store.new('store.yml')
def self.get_transaction(key)
@store.transaction { @store[key] }
end
def self.get_nested_transaction(key, sub)
@store.transaction { @store[key][sub] }
end
end
Bonus credit: У меня также есть дополнительный метод для увеличения значений в моем файле YAML. Есть ли еще один способ реорганизации этого кода? Имеет ли смысл просто передавать блоки одному методу доступа к базе данных?
УДИВИТЕЛЬНЫЙ. Dig - это именно то, что я знал, что мне нужно, но не знал. Я возьму на себя некоторую работу, чтобы переварить приведенный вами пример кода, но я уже вижу, куда мы направляемся, и это выглядит идеально. Спасибо! –