class MoneyTracking::DataStore::FileStore::Record
Public Class Methods
list(dir)
click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 39 def self.list(dir) Dir["#{dir}/*.yml"] .map { |path| File.basename(path, ".yml") } .map { |id| new(dir).load(id) } end
Public Instance Methods
delete()
click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 65 def delete File.delete(filename) end
id()
click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 45 def id @id ||= SecureRandom.hex(4) end
load(id)
click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 49 def load(id) @id = id self.fields = YAML.load_file(filename).merge(id: id) self end
save()
click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 55 def save File.open(filename, "w") { |f| f.write(to_yaml) } self end
update(fields)
click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 60 def update(fields) self.fields = fields save end
Private Instance Methods
filename()
click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 75 def filename "#{dir}/#{id}.yml" end
to_yaml()
click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 71 def to_yaml fields.to_yaml end