class YAML::Store
YAML::Store bietet dieselbe Funktionalität wie PStore, mit dem Unterschied, dass Objekte mit YAML statt mit Marshal gespeichert werden.
Beispiel
require 'yaml/store' Person = Struct.new :first_name, :last_name people = [Person.new("Bob", "Smith"), Person.new("Mary", "Johnson")] store = YAML::Store.new "test.store" store.transaction do store["people"] = people store["greeting"] = { "hello" => "world" } end
Nach Ausführung des obigen Codes wird der Inhalt von „test.store“ wie folgt aussehen:
--- people: - !ruby/struct:Person first_name: Bob last_name: Smith - !ruby/struct:Person first_name: Mary last_name: Johnson greeting: hello: world
Öffentliche Klassenmethoden
Source
# File lib/yaml/store.rb, line 57 def initialize( *o ) @opt = {} if o.last.is_a? Hash @opt.update(o.pop) end super(*o) end
Erstellt ein neues YAML::Store-Objekt, das Daten in file_name speichert. Wenn die Datei noch nicht existiert, wird sie erstellt.
YAML::Store-Objekte sind immer reentrant. Wenn jedoch thread_safe auf true gesetzt ist, wird es auf Kosten eines geringen Leistungsverlusts threadsicher.
Über yaml_opts übergebene Optionen werden bei der Konvertierung des Stores in YAML über Hash#to_yaml() verwendet.
Ruft die Methode der Superklasse auf