Method: Monies#initialize

Defined in:
lib/monies.rb

#initialize(value, scale, currency = self.class.currency) ⇒ Monies



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/monies.rb', line 78

def initialize(value, scale, currency = self.class.currency)
  unless value.is_a?(Integer)
    raise ArgumentError, "#{value.inspect} is not a valid value argument"
  end

  unless scale.is_a?(Integer) && scale >= 0
    raise ArgumentError, "#{scale.inspect} is not a valid scale argument"
  end

  unless currency.is_a?(String)
    raise ArgumentError, "#{currency.inspect} is not a valid currency argument"
  end

  @value, @scale, @currency = value, scale, currency

  freeze
end