Module: Amount::ActiveRecord::Model
- Defined in:
- lib/amount/active_record/model.rb
Overview
Provides ‘has_amount` for ActiveRecord models.
Instance Method Summary collapse
- #amount_atomic_column(name) ⇒ Object
- #amount_attribute_definitions ⇒ Object
- #amount_component_columns(name) ⇒ Object
- #amount_symbol_column(name) ⇒ Object
- #has_amount(name, symbol: nil) ⇒ Object
Instance Method Details
#amount_atomic_column(name) ⇒ Object
26 27 28 |
# File 'lib/amount/active_record/model.rb', line 26 def amount_atomic_column(name) amount_attribute_definition(name).atomic_column end |
#amount_attribute_definitions ⇒ Object
18 19 20 |
# File 'lib/amount/active_record/model.rb', line 18 def amount_attribute_definitions @amount_attribute_definitions ||= {} end |
#amount_component_columns(name) ⇒ Object
22 23 24 |
# File 'lib/amount/active_record/model.rb', line 22 def amount_component_columns(name) amount_attribute_definition(name).component_columns end |
#amount_symbol_column(name) ⇒ Object
30 31 32 |
# File 'lib/amount/active_record/model.rb', line 30 def amount_symbol_column(name) amount_attribute_definition(name).symbol_column end |
#has_amount(name, symbol: nil) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/amount/active_record/model.rb', line 7 def has_amount(name, symbol: nil) definition = AttributeDefinition.new(name, symbol:) amount_attribute_definitions[definition.name] = definition define_amount_reader(definition) define_amount_writer(definition) define_amount_dirty_tracking(definition) define_amount_scopes(definition) define_amount_validation(definition) end |