Class: SSD::Store
- Inherits:
-
Object
- Object
- SSD::Store
- Defined in:
- lib/ssd.rb
Instance Method Summary collapse
- #dump ⇒ Object
-
#initialize(path, key, value = nil) ⇒ Store
constructor
A new instance of Store.
- #read ⇒ Object
- #write ⇒ Object
Constructor Details
#initialize(path, key, value = nil) ⇒ Store
Returns a new instance of Store.
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/ssd.rb', line 22 def initialize path, key, value=nil @path = path @key = key @value = value FileUtils::mkdir_p ".ssd/#{@path}" @ssd_path = ".ssd/#{@path}/#{@key}.ssd" #@ssd_db = PStore.new @ssd_path, true @ssd_db = YAML::Store.new @ssd_path, true @ssd_db.ultra_safe = true #@ssd_db.transaction(true) {} end |
Instance Method Details
#dump ⇒ Object
45 46 47 48 49 50 51 52 |
# File 'lib/ssd.rb', line 45 def dump p "dump all" # true sets it to be read-only transaction @ssd_db.transaction true do @ssd_db[@key.to_s] end @ssd_db end |
#read ⇒ Object
54 55 56 57 58 59 |
# File 'lib/ssd.rb', line 54 def read #setup ssd @ssd_db.transaction true do @ssd_db[@ssd_db.roots.last] end end |
#write ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/ssd.rb', line 36 def write p "writing" @ssd_db.transaction do @ssd_db[Time.now.utc.to_s + "_" + @key.to_s ] = @value #@ssd_db[@key.to_s] = @value end @ssd_db end |