Moja klasa jest:Aktualizowanie pliku YAML w Ruby
class Mycfg
@@options = {}
def init
@@options = YAML.load_file(Dir.pwd + PATH)
end
def set(key, val)
@@options[key] = val
end
def get(key)
@@options[key]
end
def save
end
end
Stosując tę klasę:
oj = Mycfg.new
oj.init
if oj.get 'name' == 'tom'
oj.set 'changed', Data.now
end
oj.save
plik YAML:
name : tom
pawd : 123456
version : 0.0.1
created : 2011-10-24
changed : 2011-10-24
Jak skończę metodę save
zaktualizować plik YAML, jeśli coś się zmieniło?
Powinieneś buforować oryginalną wartość skrótu. Następnie na końcu programu sprawdź, czy jest równy aktualnym opcjom @@. Jeśli tak, skasuj stary plik yaml i wypisz ruby od hasza to_yaml od zera. Jeśli chcesz zobaczyć to jako przykład, chętnie bym to zrobił. –
Możemy dodać @@ copy_options dla tej klasy do pamięci podręcznej zmienionej, chodzi o to, że nie wiem jak zapisać dane do pliku yaml. – coolesting