Class: Economy::Builder
- Inherits:
-
Object
- Object
- Economy::Builder
- Defined in:
- lib/economy/builder.rb
Instance Attribute Summary collapse
-
#concern ⇒ Object
readonly
Returns the value of attribute concern.
-
#model ⇒ Object
readonly
Returns the value of attribute model.
Instance Method Summary collapse
- #define(attributes) ⇒ Object
-
#initialize(model) ⇒ Builder
constructor
A new instance of Builder.
Constructor Details
#initialize(model) ⇒ Builder
Returns a new instance of Builder.
6 7 8 9 |
# File 'lib/economy/builder.rb', line 6 def initialize(model) @model = model @concern = Module.new end |
Instance Attribute Details
#concern ⇒ Object (readonly)
Returns the value of attribute concern.
4 5 6 |
# File 'lib/economy/builder.rb', line 4 def concern @concern end |
#model ⇒ Object (readonly)
Returns the value of attribute model.
4 5 6 |
# File 'lib/economy/builder.rb', line 4 def model @model end |
Instance Method Details
#define(attributes) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/economy/builder.rb', line 11 def define(attributes) attributes.each do |attribute| if model.column_names.include?("#{attribute}_currency") currency_attribute = :"#{attribute}_currency" else currency_attribute = :currency end set_validators attribute, currency_attribute define_helpers attribute default_currency = Economy.configuration.default_currency define_getter attribute, currency_attribute, default_currency define_setter attribute, currency_attribute, default_currency end model.include concern end |