Module: ActsAsMoney::ClassMethods

Defined in:
lib/acts_as_money.rb

Instance Method Summary collapse

Instance Method Details

#money(*attr_names) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/acts_as_money.rb', line 10

def money(*attr_names)
  attr_names.each do |attr_name|
    generator = lambda { |x|
      decimals = columns.detect { |c| c.name == attr_name.to_s }.scale
      Money.new(x, decimals)
    }
    composed_of attr_name, class_name: "ActsAsMoney::Money", mapping: [attr_name, :amount], 
      allow_nil: true, converter: generator, constructor: generator
  end
end