class MoneyTracking::Cli::Expenses
Public Instance Methods
create(amount, currency, *tags)
click to toggle source
# File lib/money_tracking/cli.rb, line 31 def create(amount, currency, *tags) render CreateCommand.new(expense_factory, amount, currency, tags).call end
delete(expense_id)
click to toggle source
# File lib/money_tracking/cli.rb, line 52 def delete(expense_id) render DeleteCommand.new(expense_finder, expense_id).call end
list()
click to toggle source
# File lib/money_tracking/cli.rb, line 26 def list render ListCommand.new(expense_finder).call end
update(expense_id)
click to toggle source
# File lib/money_tracking/cli.rb, line 40 def update(expense_id) render UpdateCommand.new( expense_finder, expense_id, options.amount, options.currency, options.add_tags, options.rm_tags, ).call end
Private Instance Methods
expense_factory()
click to toggle source
# File lib/money_tracking/cli.rb, line 58 def expense_factory Domain::ExpenseFactory.new(store) end
expense_finder()
click to toggle source
# File lib/money_tracking/cli.rb, line 62 def expense_finder Domain::ExpenseFinder.new(store, expense_factory) end
file_store_dir()
click to toggle source
# File lib/money_tracking/cli.rb, line 70 def file_store_dir "#{user_home}/.money/expenses" end
render(view)
click to toggle source
# File lib/money_tracking/cli.rb, line 78 def render(view) puts view.to_s end
store()
click to toggle source
# File lib/money_tracking/cli.rb, line 66 def store @_store ||= DataStore::FileStore.new(file_store_dir) end
user_home()
click to toggle source
# File lib/money_tracking/cli.rb, line 74 def user_home ENV.fetch("TEST_HOME", ENV["HOME"]) end