class MoneyTracking::DataStore::FileStore

Attributes

dir[RW]

Public Class Methods

new(dir) click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 7
def initialize(dir)
  @dir = dir
  `mkdir -p #{dir}`
end

Public Instance Methods

create(fields) click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 12
def create(fields)
  Record.new(dir, fields).save.id
end
delete(id) click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 30
def delete(id)
  Record.new(dir).load(id).delete
end
list() click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 22
def list
  Record.list(dir).map { |record| record.fields }
end
read(id) click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 16
def read(id)
  Record.new(dir).load(id).fields
rescue Errno::ENOENT
  nil
end
update(id, fields) click to toggle source
# File lib/money_tracking/data_store/file_store.rb, line 26
def update(id, fields)
  Record.new(dir).load(id).update(fields)
end