Class: MoneyTracking::DataStore::FileStore::Record
- Inherits:
-
Struct
- Object
- Struct
- MoneyTracking::DataStore::FileStore::Record
- Defined in:
- lib/money_tracking/data_store/file_store.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.list(dir) ⇒ Object
39 40 41 42 43 |
# 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 |
Instance Method Details
#delete ⇒ Object
65 66 67 |
# File 'lib/money_tracking/data_store/file_store.rb', line 65 def delete File.delete(filename) end |
#id ⇒ Object
45 46 47 |
# File 'lib/money_tracking/data_store/file_store.rb', line 45 def id @id ||= SecureRandom.hex(4) end |
#load(id) ⇒ Object
49 50 51 52 53 |
# 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 ⇒ Object
55 56 57 58 |
# 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) ⇒ Object
60 61 62 63 |
# File 'lib/money_tracking/data_store/file_store.rb', line 60 def update(fields) self.fields = fields save end |