class MoneyTracking::Cli::UpdateCommand

Public Instance Methods

call() click to toggle source
# File lib/money_tracking/cli/update_command.rb, line 4
def call
  expense
    .update(
      amount: amount,
      currency: currency,
      add_tags: add_tags,
      rm_tags: rm_tags,
    ).build_view(view_factory)
end

Private Instance Methods

expense() click to toggle source
# File lib/money_tracking/cli/update_command.rb, line 16
def expense
  @_expense ||= expense_finder.read(expense_id)
end
updating?() click to toggle source
# File lib/money_tracking/cli/update_command.rb, line 25
def updating?
  [amount,
   currency,
   add_tags && !add_tags.empty?,
   rm_tags && !rm_tags.empty?].any?
end
view_factory() click to toggle source
# File lib/money_tracking/cli/update_command.rb, line 20
def view_factory
  return Views::ExpenseNotUpdated unless updating?
  Views::ExpenseUpdated
end