Class: Cash::Currency

Inherits:
Object
  • Object
show all
Includes:
Equalable
Defined in:
lib/cash/currency.rb,
lib/cash/currency/iso4217.rb

Constant Summary collapse

AED =
self.register(%q{AED}, 2, %q{United Arab Emirates dirham})
AFN =
self.register(%q{AFN}, 2, %q{Afghani})
ALL =
self.register(%q{ALL}, 2, %q{Lek})
AMD =
self.register(%q{AMD}, 0, %q{Armenian dram})
ANG =
self.register(%q{ANG}, 2, %q{Netherlands Antillean guilder})
AOA =
self.register(%q{AOA}, 1, %q{Kwanza})
ARS =
self.register(%q{ARS}, 2, %q{Argentine peso})
AUD =
self.register(%q{AUD}, 2, %q{Australian dollar})
AWG =
self.register(%q{AWG}, 2, %q{Aruban guilder})
AZN =
self.register(%q{AZN}, 2, %q{Azerbaijanian manat})
BAM =
self.register(%q{BAM}, 2, %q{Convertible marks})
BBD =
self.register(%q{BBD}, 2, %q{Barbados dollar})
BDT =
self.register(%q{BDT}, 2, %q{Bangladeshi taka})
BGN =
self.register(%q{BGN}, 2, %q{Bulgarian lev})
BHD =
self.register(%q{BHD}, 3, %q{Bahraini dinar})
BIF =
self.register(%q{BIF}, 0, %q{Burundian franc})
BMD =
self.register(%q{BMD}, 2, %q{Bermudian dollar})
BND =
self.register(%q{BND}, 2, %q{Brunei dollar})
BOB =
self.register(%q{BOB}, 2, %q{Boliviano})
BOV =
self.register(%q{BOV}, 2, %q{Bolivian Mvdol (funds code)})
BRL =
self.register(%q{BRL}, 2, %q{Brazilian real})
BSD =
self.register(%q{BSD}, 2, %q{Bahamian dollar})
BTN =
self.register(%q{BTN}, 2, %q{Ngultrum})
BWP =
self.register(%q{BWP}, 2, %q{Pula})
BYR =
self.register(%q{BYR}, 0, %q{Belarusian ruble})
BZD =
self.register(%q{BZD}, 2, %q{Belize dollar})
CAD =
self.register(%q{CAD}, 2, %q{Canadian dollar})
CDF =
self.register(%q{CDF}, 2, %q{Franc Congolais})
CHE =
self.register(%q{CHE}, 2, %q{WIR eurocomplementary currency})
CHF =
self.register(%q{CHF}, 2, %q{Swiss franc})
CHW =
self.register(%q{CHW}, 2, %q{WIR franccomplementary currency})
CLF =
self.register(%q{CLF}, 0, %q{Unidad de Fomento})
CLP =
self.register(%q{CLP}, 0, %q{Chilean peso})
CNY =
self.register(%q{CNY}, 1, %q{Chinese Yuan})
COP =
self.register(%q{COP}, 0, %q{Colombian peso})
COU =
self.register(%q{COU}, 2, %q{Unidad de Valor Real})
CRC =
self.register(%q{CRC}, 2, %q{Costa Rican colon})
CUC =
self.register(%q{CUC}, 2, %q{Cuban convertible peso})
CUP =
self.register(%q{CUP}, 2, %q{Cuban peso})
CVE =
self.register(%q{CVE}, 2, %q{Cape Verde escudo})
CZK =
self.register(%q{CZK}, 2, %q{Czech Koruna})
DJF =
self.register(%q{DJF}, 0, %q{Djibouti franc})
DKK =
self.register(%q{DKK}, 2, %q{Danish krone})
DOP =
self.register(%q{DOP}, 2, %q{Dominican peso})
DZD =
self.register(%q{DZD}, 2, %q{Algerian dinar})
EEK =
self.register(%q{EEK}, 2, %q{Kroon})
EGP =
self.register(%q{EGP}, 2, %q{Egyptian pound})
ERN =
self.register(%q{ERN}, 2, %q{Nakfa})
ETB =
self.register(%q{ETB}, 2, %q{Ethiopian birr})
EUR =
self.register(%q{EUR}, 2, %q{euro})
FJD =
self.register(%q{FJD}, 2, %q{Fiji dollar})
FKP =
self.register(%q{FKP}, 2, %q{Falkland Islands pound})
GBP =
self.register(%q{GBP}, 2, %q{Pound sterling})
GEL =
self.register(%q{GEL}, 2, %q{Lari})
GHS =
self.register(%q{GHS}, 2, %q{Cedi})
GIP =
self.register(%q{GIP}, 2, %q{Gibraltar pound})
GMD =
self.register(%q{GMD}, 2, %q{Dalasi})
GNF =
self.register(%q{GNF}, 0, %q{Guinea franc})
GTQ =
self.register(%q{GTQ}, 2, %q{Quetzal})
GYD =
self.register(%q{GYD}, 2, %q{Guyana dollar})
HKD =
self.register(%q{HKD}, 2, %q{Hong Kong dollar})
HNL =
self.register(%q{HNL}, 2, %q{Lempira})
HRK =
self.register(%q{HRK}, 2, %q{Croatian kuna})
HTG =
self.register(%q{HTG}, 2, %q{Haiti gourde})
HUF =
self.register(%q{HUF}, 2, %q{Forint})
IDR =
self.register(%q{IDR}, 0, %q{Rupiah})
ILS =
self.register(%q{ILS}, 2, %q{Israeli new sheqel})
INR =
self.register(%q{INR}, 2, %q{Indian rupee})
IQD =
self.register(%q{IQD}, 0, %q{Iraqi dinar})
IRR =
self.register(%q{IRR}, 0, %q{Iranian rial})
ISK =
self.register(%q{ISK}, 0, %q{Iceland krona})
JMD =
self.register(%q{JMD}, 2, %q{Jamaican dollar})
JOD =
self.register(%q{JOD}, 3, %q{Jordanian dinar})
JPY =
self.register(%q{JPY}, 0, %q{Japanese yen})
KES =
self.register(%q{KES}, 2, %q{Kenyan shilling})
KGS =
self.register(%q{KGS}, 2, %q{Som})
KHR =
self.register(%q{KHR}, 0, %q{Riel})
KMF =
self.register(%q{KMF}, 0, %q{Comoro franc})
KPW =
self.register(%q{KPW}, 0, %q{North Korean won})
KRW =
self.register(%q{KRW}, 0, %q{South Korean won})
KWD =
self.register(%q{KWD}, 3, %q{Kuwaiti dinar})
KYD =
self.register(%q{KYD}, 2, %q{Cayman Islands dollar})
KZT =
self.register(%q{KZT}, 2, %q{Tenge})
LAK =
self.register(%q{LAK}, 0, %q{Kip})
LBP =
self.register(%q{LBP}, 0, %q{Lebanese pound})
LKR =
self.register(%q{LKR}, 2, %q{Sri Lanka rupee})
LRD =
self.register(%q{LRD}, 2, %q{Liberian dollar})
LSL =
self.register(%q{LSL}, 2, %q{Lesotho loti})
LTL =
self.register(%q{LTL}, 2, %q{Lithuanian litas})
LVL =
self.register(%q{LVL}, 2, %q{Latvian lats})
LYD =
self.register(%q{LYD}, 3, %q{Libyan dinar})
MAD =
self.register(%q{MAD}, 2, %q{Moroccan dirham})
MDL =
self.register(%q{MDL}, 2, %q{Moldovan leu})
MGA =
self.register(%q{MGA}, 0, %q{Malagasy ariary})
MKD =
self.register(%q{MKD}, 2, %q{Denar})
MMK =
self.register(%q{MMK}, 0, %q{Kyat})
MNT =
self.register(%q{MNT}, 2, %q{Tugrik})
MOP =
self.register(%q{MOP}, 1, %q{Pataca})
MRO =
self.register(%q{MRO}, 0, %q{Ouguiya})
MUR =
self.register(%q{MUR}, 2, %q{Mauritius rupee})
MVR =
self.register(%q{MVR}, 2, %q{Rufiyaa})
MWK =
self.register(%q{MWK}, 2, %q{Kwacha})
MXN =
self.register(%q{MXN}, 2, %q{Mexican peso})
MXV =
self.register(%q{MXV}, 2, %q{Mexican Unidad de Inversion})
MYR =
self.register(%q{MYR}, 2, %q{Malaysian ringgit})
MZN =
self.register(%q{MZN}, 2, %q{Metical})
NAD =
self.register(%q{NAD}, 2, %q{Namibian dollar})
NGN =
self.register(%q{NGN}, 2, %q{Naira})
NIO =
self.register(%q{NIO}, 2, %q{Cordoba oro})
NOK =
self.register(%q{NOK}, 2, %q{Norwegian krone})
NPR =
self.register(%q{NPR}, 2, %q{Nepalese rupee})
NZD =
self.register(%q{NZD}, 2, %q{New Zealand dollar})
OMR =
self.register(%q{OMR}, 3, %q{Rial Omani})
PAB =
self.register(%q{PAB}, 2, %q{Balboa})
PEN =
self.register(%q{PEN}, 2, %q{Nuevo sol})
PGK =
self.register(%q{PGK}, 2, %q{Kina})
PHP =
self.register(%q{PHP}, 2, %q{Philippine peso})
PKR =
self.register(%q{PKR}, 2, %q{Pakistan rupee})
PLN =
self.register(%q{PLN}, 2, %q{Złoty})
PYG =
self.register(%q{PYG}, 0, %q{Guarani})
QAR =
self.register(%q{QAR}, 2, %q{Qatari rial})
RON =
self.register(%q{RON}, 2, %q{Romanian new leu})
RSD =
self.register(%q{RSD}, 2, %q{Serbian dinar})
RUB =
self.register(%q{RUB}, 2, %q{Russian rouble})
RWF =
self.register(%q{RWF}, 0, %q{Rwanda franc})
SAR =
self.register(%q{SAR}, 2, %q{Saudi riyal})
SBD =
self.register(%q{SBD}, 2, %q{Solomon Islands dollar})
SCR =
self.register(%q{SCR}, 2, %q{Seychelles rupee})
SDG =
self.register(%q{SDG}, 2, %q{Sudanese pound})
SEK =
self.register(%q{SEK}, 2, %q{Swedish krona})
SGD =
self.register(%q{SGD}, 2, %q{Singapore dollar})
SHP =
self.register(%q{SHP}, 2, %q{Saint Helena pound})
SLL =
self.register(%q{SLL}, 0, %q{Leone})
SOS =
self.register(%q{SOS}, 2, %q{Somali shilling})
SRD =
self.register(%q{SRD}, 2, %q{Surinam dollar})
STD =
self.register(%q{STD}, 0, %q{Dobra})
SYP =
self.register(%q{SYP}, 2, %q{Syrian pound})
SZL =
self.register(%q{SZL}, 2, %q{Lilangeni})
THB =
self.register(%q{THB}, 2, %q{Baht})
TJS =
self.register(%q{TJS}, 2, %q{Somoni})
TMT =
self.register(%q{TMT}, 2, %q{Manat})
TND =
self.register(%q{TND}, 3, %q{Tunisian dinar})
TOP =
self.register(%q{TOP}, 2, %q{Pa'anga})
TRY =
self.register(%q{TRY}, 2, %q{Turkish lira})
TTD =
self.register(%q{TTD}, 2, %q{Trinidad and Tobago dollar})
TWD =
self.register(%q{TWD}, 1, %q{New Taiwan dollar})
TZS =
self.register(%q{TZS}, 2, %q{Tanzanian shilling})
UAH =
self.register(%q{UAH}, 2, %q{Hryvnia})
UGX =
self.register(%q{UGX}, 0, %q{Uganda shilling})
USD =
self.register(%q{USD}, 2, %q{US dollar})
USN =
self.register(%q{USN}, 2, %q{United States dollar (next day) (funds code)})
USS =
self.register(%q{USS}, 2, %q{who?})
UYU =
self.register(%q{UYU}, 2, %q{Peso Uruguayo})
UZS =
self.register(%q{UZS}, 2, %q{Uzbekistan som})
VEF =
self.register(%q{VEF}, 2, %q{Venezuelan bolívar fuerte})
VND =
self.register(%q{VND}, 0, %q{Vietnamese đồng})
VUV =
self.register(%q{VUV}, 0, %q{Vatu})
WST =
self.register(%q{WST}, 2, %q{Samoan tala})
XAF =
self.register(%q{XAF}, 0, %q{CFA franc BEAC})
XAG =
self.register(%q{XAG}, 0, %q{Silvertroy ounce})
XAU =
self.register(%q{XAU}, 0, %q{Goldtroy ounce})
XBA =
self.register(%q{XBA}, 0, %q{European Composite Unit})
XBB =
self.register(%q{XBB}, 0, %q{European Monetary Unit})
XBC =
self.register(%q{XBC}, 0, %q{European Unit of Account 9})
XBD =
self.register(%q{XBD}, 0, %q{European Unit of Account 17})
XCD =
self.register(%q{XCD}, 2, %q{East Caribbean dollar})
XDR =
self.register(%q{XDR}, 0, %q{Special Drawing Rights})
XFU =
self.register(%q{XFU}, 0, %q{UIC franc})
XOF =
self.register(%q{XOF}, 0, %q{CFA Franc BCEAO})
XPD =
self.register(%q{XPD}, 0, %q{Palladiumtroy ounce})
XPF =
self.register(%q{XPF}, 0, %q{CFP franc})
XPT =
self.register(%q{XPT}, 0, %q{Platinumtroy ounce})
XTS =
self.register(%q{XTS}, 0, %q{Code reserved for testing purposes})
XXX =
self.register(%q{XXX}, 0, %q{No currency})
YER =
self.register(%q{YER}, 0, %q{Yemeni rial})
ZAR =
self.register(%q{ZAR}, 2, %q{South African rand})
ZMK =
self.register(%q{ZMK}, 0, %q{Kwacha})
ZWL =
self.register(%q{ZWL}, 2, %q{Zimbabwe dollar})

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Equalable

#==, #hash

Constructor Details

#initialize(code, offset, name) ⇒ Currency

Returns a new instance of Currency.



15
16
17
# File 'lib/cash/currency.rb', line 15

def initialize(code, offset, name)
  @code, @offset, @name = code.to_s.upcase, Integer(offset), name
end

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



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

def code
  @code
end

#nameObject (readonly)

Returns the value of attribute name.



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

def name
  @name
end

#offsetObject (readonly)

Returns the value of attribute offset.



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

def offset
  @offset
end

Class Method Details

.allObject



31
32
33
# File 'lib/cash/currency.rb', line 31

def all
  @all ||= Set.new
end

.find(currency) ⇒ Object



21
22
23
24
25
# File 'lib/cash/currency.rb', line 21

def find(currency)
  return currency if currency.kind_of?(self)
  currency = currency.to_s.upcase
  all.find{ |c| c.code == currency }
end

.find!(currency) ⇒ Object



27
28
29
# File 'lib/cash/currency.rb', line 27

def find!(currency)
  find(currency) or fail ArgumentError, "unknown currency: #{currency}"
end

.register(*args) ⇒ Object



35
36
37
38
# File 'lib/cash/currency.rb', line 35

def register(*args)
  self.all << currency = new(*args).freeze
  currency
end