Class: MoneyTracking::Domain::Expense
- Inherits:
-
Object
- Object
- MoneyTracking::Domain::Expense
- Defined in:
- lib/money_tracking/domain/expense.rb
Defined Under Namespace
Classes: TagUpdate
Constant Summary collapse
- SIMPLE_FIELDS =
%i[amount currency]
Instance Method Summary collapse
- #build_view(view_factory) ⇒ Object
- #create ⇒ Object
- #delete ⇒ Object
-
#initialize(store, fields) ⇒ Expense
constructor
A new instance of Expense.
- #update(updated_fields) ⇒ Object
Constructor Details
#initialize(store, fields) ⇒ Expense
Returns a new instance of Expense.
6 7 8 9 10 |
# File 'lib/money_tracking/domain/expense.rb', line 6 def initialize(store, fields) @store = store @fields = fields @id = fields[:id] end |
Instance Method Details
#build_view(view_factory) ⇒ Object
30 31 32 |
# File 'lib/money_tracking/domain/expense.rb', line 30 def build_view(view_factory) view_factory.new(raw) end |
#create ⇒ Object
12 13 14 15 16 |
# File 'lib/money_tracking/domain/expense.rb', line 12 def create set_created_at @id = store.create(raw) self end |
#delete ⇒ Object
25 26 27 28 |
# File 'lib/money_tracking/domain/expense.rb', line 25 def delete store.delete(id) self end |
#update(updated_fields) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/money_tracking/domain/expense.rb', line 18 def update(updated_fields) simple_update(updated_fields) (updated_fields) store.update(id, raw) self end |