Class: Mint::Currency

Inherits:
Object
  • Object
show all
Defined in:
lib/minting/mint/currency.rb

Overview

Represents a specific currency unit, identified by ISO 4217 alphabetic code

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



8
9
10
# File 'lib/minting/mint/currency.rb', line 8

def code
  @code
end

#countryObject (readonly)

Returns the value of attribute country.



8
9
10
# File 'lib/minting/mint/currency.rb', line 8

def country
  @country
end

#fractional_multiplierObject (readonly)

Returns the value of attribute fractional_multiplier.



8
9
10
# File 'lib/minting/mint/currency.rb', line 8

def fractional_multiplier
  @fractional_multiplier
end

#minimum_amountObject (readonly)

Returns the value of attribute minimum_amount.



8
9
10
# File 'lib/minting/mint/currency.rb', line 8

def minimum_amount
  @minimum_amount
end

#nameObject (readonly)

Returns the value of attribute name.



8
9
10
# File 'lib/minting/mint/currency.rb', line 8

def name
  @name
end

#priorityObject (readonly)

Returns the value of attribute priority.



8
9
10
# File 'lib/minting/mint/currency.rb', line 8

def priority
  @priority
end

#subunitObject (readonly)

Returns the value of attribute subunit.



8
9
10
# File 'lib/minting/mint/currency.rb', line 8

def subunit
  @subunit
end

#symbolObject (readonly)

Returns the value of attribute symbol.



8
9
10
# File 'lib/minting/mint/currency.rb', line 8

def symbol
  @symbol
end

Instance Method Details

#inspectObject



13
# File 'lib/minting/mint/currency.rb', line 13

def inspect = "<Currency:(#{code} #{symbol} #{subunit} #{name})>"

#normalize_amount(amount) ⇒ Object

Normalizes numeric amounts for this currency

  1. Converts to Rational

  2. Rounds to respect currency subunit



18
# File 'lib/minting/mint/currency.rb', line 18

def normalize_amount(amount) = amount.to_r.round(subunit)