minting 1.0.1 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/LICENSE +21 -0
- data/README.md +41 -1
- data/Rakefile +8 -1
- data/lib/minting/data/currencies.yaml +711 -0
- data/lib/minting/mint/currency.rb +9 -8
- data/lib/minting/mint/registry.rb +73 -138
- data/lib/minting/money/allocation.rb +24 -5
- data/lib/minting/money/arithmetics.rb +37 -2
- data/lib/minting/money/coercion.rb +14 -3
- data/lib/minting/money/comparable.rb +13 -16
- data/lib/minting/money/conversion.rb +30 -2
- data/lib/minting/money/formatting.rb +5 -4
- data/lib/minting/money/money.rb +24 -15
- data/lib/minting/money/parse.rb +82 -0
- data/lib/minting/money.rb +1 -0
- data/lib/minting/version.rb +3 -1
- data/minting.gemspec +1 -1
- metadata +5 -2
|
@@ -0,0 +1,711 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Currency registry. Each item contains:
|
|
3
|
+
# code: ISO 4217 alphabetic code
|
|
4
|
+
# country: primary ISO 3166-1 alpha-3 country code (when applicable/known)
|
|
5
|
+
# subunit: decimal places
|
|
6
|
+
# symbol: display symbol
|
|
7
|
+
# priority: parser/display priority
|
|
8
|
+
# name: English name of the currency
|
|
9
|
+
|
|
10
|
+
- code: USD
|
|
11
|
+
country: USA
|
|
12
|
+
subunit: 2
|
|
13
|
+
symbol: "$"
|
|
14
|
+
name: United States Dollar
|
|
15
|
+
priority: 1000
|
|
16
|
+
- code: EUR
|
|
17
|
+
country: null
|
|
18
|
+
subunit: 2
|
|
19
|
+
symbol: "€"
|
|
20
|
+
name: Euro
|
|
21
|
+
priority: 950
|
|
22
|
+
- code: JPY
|
|
23
|
+
country: JPN
|
|
24
|
+
subunit: 0
|
|
25
|
+
symbol: "¥"
|
|
26
|
+
name: Japanese Yen
|
|
27
|
+
priority: 900
|
|
28
|
+
- code: GBP
|
|
29
|
+
country: GBR
|
|
30
|
+
subunit: 2
|
|
31
|
+
symbol: "£"
|
|
32
|
+
name: Pound Sterling
|
|
33
|
+
priority: 850
|
|
34
|
+
- code: CNY
|
|
35
|
+
country: CHN
|
|
36
|
+
subunit: 2
|
|
37
|
+
symbol: "¥"
|
|
38
|
+
name: Chinese Yuan
|
|
39
|
+
priority: 800
|
|
40
|
+
- code: INR
|
|
41
|
+
country: IND
|
|
42
|
+
subunit: 2
|
|
43
|
+
symbol: "₹"
|
|
44
|
+
name: Indian Rupee
|
|
45
|
+
priority: 760
|
|
46
|
+
- code: CAD
|
|
47
|
+
country: CAN
|
|
48
|
+
subunit: 2
|
|
49
|
+
symbol: "$"
|
|
50
|
+
name: Canadian Dollar
|
|
51
|
+
priority: 740
|
|
52
|
+
- code: AUD
|
|
53
|
+
country: AUS
|
|
54
|
+
subunit: 2
|
|
55
|
+
symbol: "$"
|
|
56
|
+
name: Australian Dollar
|
|
57
|
+
priority: 730
|
|
58
|
+
- code: CHF
|
|
59
|
+
country: CHE
|
|
60
|
+
subunit: 2
|
|
61
|
+
symbol: Fr
|
|
62
|
+
name: Swiss Franc
|
|
63
|
+
priority: 720
|
|
64
|
+
- code: HKD
|
|
65
|
+
country: HKG
|
|
66
|
+
subunit: 2
|
|
67
|
+
symbol: HK$
|
|
68
|
+
name: Hong Kong Dollar
|
|
69
|
+
priority: 710
|
|
70
|
+
- code: SGD
|
|
71
|
+
country: SGP
|
|
72
|
+
subunit: 2
|
|
73
|
+
symbol: S$
|
|
74
|
+
name: Singapore Dollar
|
|
75
|
+
priority: 700
|
|
76
|
+
- code: KRW
|
|
77
|
+
country: KOR
|
|
78
|
+
subunit: 0
|
|
79
|
+
symbol: "₩"
|
|
80
|
+
name: South Korean Won
|
|
81
|
+
priority: 690
|
|
82
|
+
- code: SEK
|
|
83
|
+
country: SWE
|
|
84
|
+
subunit: 2
|
|
85
|
+
symbol: kr
|
|
86
|
+
name: Swedish Krona
|
|
87
|
+
priority: 680
|
|
88
|
+
- code: NOK
|
|
89
|
+
country: NOR
|
|
90
|
+
subunit: 2
|
|
91
|
+
symbol: kr
|
|
92
|
+
name: Norwegian Krone
|
|
93
|
+
priority: 670
|
|
94
|
+
- code: DKK
|
|
95
|
+
country: DNK
|
|
96
|
+
subunit: 2
|
|
97
|
+
symbol: kr
|
|
98
|
+
name: Danish Krone
|
|
99
|
+
priority: 660
|
|
100
|
+
- code: NZD
|
|
101
|
+
country: NZL
|
|
102
|
+
subunit: 2
|
|
103
|
+
symbol: "$"
|
|
104
|
+
name: New Zealand Dollar
|
|
105
|
+
priority: 650
|
|
106
|
+
- code: MXN
|
|
107
|
+
country: MEX
|
|
108
|
+
subunit: 2
|
|
109
|
+
symbol: "$"
|
|
110
|
+
name: Mexican Peso
|
|
111
|
+
priority: 640
|
|
112
|
+
- code: BRL
|
|
113
|
+
country: BRA
|
|
114
|
+
subunit: 2
|
|
115
|
+
symbol: R$
|
|
116
|
+
name: Brazilian Real
|
|
117
|
+
priority: 630
|
|
118
|
+
- code: ZAR
|
|
119
|
+
country: ZAF
|
|
120
|
+
subunit: 2
|
|
121
|
+
symbol: R
|
|
122
|
+
name: South African Rand
|
|
123
|
+
priority: 620
|
|
124
|
+
- code: SAR
|
|
125
|
+
country: SAU
|
|
126
|
+
subunit: 2
|
|
127
|
+
symbol: "﷼"
|
|
128
|
+
name: Saudi Riyal
|
|
129
|
+
priority: 610
|
|
130
|
+
- code: AED
|
|
131
|
+
country: ARE
|
|
132
|
+
subunit: 2
|
|
133
|
+
symbol: د.إ
|
|
134
|
+
name: United Arab Emirates Dirham
|
|
135
|
+
priority: 600
|
|
136
|
+
- code: IDR
|
|
137
|
+
country: IDN
|
|
138
|
+
subunit: 2
|
|
139
|
+
symbol: Rp
|
|
140
|
+
name: Indonesian Rupiah
|
|
141
|
+
priority: 113
|
|
142
|
+
- code: PKR
|
|
143
|
+
country: PAK
|
|
144
|
+
subunit: 2
|
|
145
|
+
symbol: "₨"
|
|
146
|
+
name: Pakistani Rupee
|
|
147
|
+
priority: 112
|
|
148
|
+
- code: NGN
|
|
149
|
+
country: NGA
|
|
150
|
+
subunit: 2
|
|
151
|
+
symbol: "₦"
|
|
152
|
+
name: Nigerian Naira
|
|
153
|
+
priority: 111
|
|
154
|
+
- code: BDT
|
|
155
|
+
country: BGD
|
|
156
|
+
subunit: 2
|
|
157
|
+
symbol: "৳"
|
|
158
|
+
name: Bangladeshi Taka
|
|
159
|
+
priority: 109
|
|
160
|
+
- code: XOF
|
|
161
|
+
country: null
|
|
162
|
+
subunit: 0
|
|
163
|
+
symbol: CFA
|
|
164
|
+
name: West African CFA franc
|
|
165
|
+
priority: 108
|
|
166
|
+
- code: RUB
|
|
167
|
+
country: RUS
|
|
168
|
+
subunit: 2
|
|
169
|
+
symbol: "₽"
|
|
170
|
+
name: Russian Ruble
|
|
171
|
+
priority: 107
|
|
172
|
+
- code: ETB
|
|
173
|
+
country: ETH
|
|
174
|
+
subunit: 2
|
|
175
|
+
symbol: Br
|
|
176
|
+
name: Ethiopian Birr
|
|
177
|
+
priority: 105
|
|
178
|
+
- code: PHP
|
|
179
|
+
country: PHL
|
|
180
|
+
subunit: 2
|
|
181
|
+
symbol: "₱"
|
|
182
|
+
name: Philippine Peso
|
|
183
|
+
priority: 103
|
|
184
|
+
- code: EGP
|
|
185
|
+
country: EGY
|
|
186
|
+
subunit: 2
|
|
187
|
+
symbol: "£"
|
|
188
|
+
name: Egyptian Pound
|
|
189
|
+
priority: 102
|
|
190
|
+
- code: VND
|
|
191
|
+
country: VNM
|
|
192
|
+
subunit: 0
|
|
193
|
+
symbol: "₫"
|
|
194
|
+
name: Vietnamese Dong
|
|
195
|
+
priority: 101
|
|
196
|
+
- code: IRR
|
|
197
|
+
country: IRN
|
|
198
|
+
subunit: 2
|
|
199
|
+
symbol: "﷼"
|
|
200
|
+
name: Iranian Rial
|
|
201
|
+
priority: 100
|
|
202
|
+
- code: TRY
|
|
203
|
+
country: TUR
|
|
204
|
+
subunit: 2
|
|
205
|
+
symbol: "₺"
|
|
206
|
+
name: Turkish Lira
|
|
207
|
+
priority: 99
|
|
208
|
+
- code: THB
|
|
209
|
+
country: THA
|
|
210
|
+
subunit: 2
|
|
211
|
+
symbol: "฿"
|
|
212
|
+
name: Thai Baht
|
|
213
|
+
priority: 98
|
|
214
|
+
- code: TZS
|
|
215
|
+
country: TZA
|
|
216
|
+
subunit: 2
|
|
217
|
+
symbol: TSh
|
|
218
|
+
name: Tanzanian Shilling
|
|
219
|
+
priority: 96
|
|
220
|
+
- code: XAF
|
|
221
|
+
country: null
|
|
222
|
+
subunit: 0
|
|
223
|
+
symbol: FCFA
|
|
224
|
+
name: Central African CFA franc
|
|
225
|
+
priority: 95
|
|
226
|
+
- code: KES
|
|
227
|
+
country: KEN
|
|
228
|
+
subunit: 2
|
|
229
|
+
symbol: KSh
|
|
230
|
+
name: Kenyan Shilling
|
|
231
|
+
priority: 93
|
|
232
|
+
- code: MMK
|
|
233
|
+
country: MMR
|
|
234
|
+
subunit: 2
|
|
235
|
+
symbol: K
|
|
236
|
+
name: Myanmar Kyat
|
|
237
|
+
priority: 92
|
|
238
|
+
- code: COP
|
|
239
|
+
country: COL
|
|
240
|
+
subunit: 2
|
|
241
|
+
symbol: "$"
|
|
242
|
+
name: Colombian Peso
|
|
243
|
+
priority: 91
|
|
244
|
+
- code: UGX
|
|
245
|
+
country: UGA
|
|
246
|
+
subunit: 0
|
|
247
|
+
symbol: USh
|
|
248
|
+
name: Ugandan Shilling
|
|
249
|
+
priority: 89
|
|
250
|
+
- code: ARS
|
|
251
|
+
country: ARG
|
|
252
|
+
subunit: 2
|
|
253
|
+
symbol: "$"
|
|
254
|
+
name: Argentine Peso
|
|
255
|
+
priority: 88
|
|
256
|
+
- code: DZD
|
|
257
|
+
country: DZA
|
|
258
|
+
subunit: 2
|
|
259
|
+
symbol: د.ج
|
|
260
|
+
name: Algerian Dinar
|
|
261
|
+
priority: 87
|
|
262
|
+
- code: IQD
|
|
263
|
+
country: IRQ
|
|
264
|
+
subunit: 3
|
|
265
|
+
symbol: د.ع
|
|
266
|
+
name: Iraqi Dinar
|
|
267
|
+
priority: 86
|
|
268
|
+
- code: AFN
|
|
269
|
+
country: AFG
|
|
270
|
+
subunit: 2
|
|
271
|
+
symbol: "؋"
|
|
272
|
+
name: Afghan Afghani
|
|
273
|
+
priority: 85
|
|
274
|
+
- code: MAD
|
|
275
|
+
country: MAR
|
|
276
|
+
subunit: 2
|
|
277
|
+
symbol: د.م.
|
|
278
|
+
name: Moroccan Dirham
|
|
279
|
+
priority: 83
|
|
280
|
+
- code: PLN
|
|
281
|
+
country: POL
|
|
282
|
+
subunit: 2
|
|
283
|
+
symbol: zł
|
|
284
|
+
name: Polish Zloty
|
|
285
|
+
priority: 82
|
|
286
|
+
- code: UAH
|
|
287
|
+
country: UKR
|
|
288
|
+
subunit: 2
|
|
289
|
+
symbol: "₴"
|
|
290
|
+
name: Ukrainian Hryvnia
|
|
291
|
+
priority: 80
|
|
292
|
+
- code: AOA
|
|
293
|
+
country: AGO
|
|
294
|
+
subunit: 2
|
|
295
|
+
symbol: Kz
|
|
296
|
+
name: Angolan Kwanza
|
|
297
|
+
priority: 79
|
|
298
|
+
- code: UZS
|
|
299
|
+
country: UZB
|
|
300
|
+
subunit: 2
|
|
301
|
+
symbol: лв
|
|
302
|
+
name: Uzbekistani Som
|
|
303
|
+
priority: 78
|
|
304
|
+
- code: GHS
|
|
305
|
+
country: GHA
|
|
306
|
+
subunit: 2
|
|
307
|
+
symbol: "¢"
|
|
308
|
+
name: Ghanaian Cedi
|
|
309
|
+
priority: 77
|
|
310
|
+
- code: MYR
|
|
311
|
+
country: MYS
|
|
312
|
+
subunit: 2
|
|
313
|
+
symbol: RM
|
|
314
|
+
name: Malaysian Ringgit
|
|
315
|
+
priority: 76
|
|
316
|
+
- code: MZN
|
|
317
|
+
country: MOZ
|
|
318
|
+
subunit: 2
|
|
319
|
+
symbol: MT
|
|
320
|
+
name: Mozambican Metical
|
|
321
|
+
priority: 75
|
|
322
|
+
- code: PEN
|
|
323
|
+
country: PER
|
|
324
|
+
subunit: 2
|
|
325
|
+
symbol: S/.
|
|
326
|
+
name: Peruvian Sol
|
|
327
|
+
priority: 74
|
|
328
|
+
- code: NPR
|
|
329
|
+
country: NPL
|
|
330
|
+
subunit: 2
|
|
331
|
+
symbol: "₨"
|
|
332
|
+
name: Nepalese Rupee
|
|
333
|
+
priority: 73
|
|
334
|
+
- code: VES
|
|
335
|
+
country: VEN
|
|
336
|
+
subunit: 2
|
|
337
|
+
symbol: Bs.
|
|
338
|
+
name: Venezuelan Bolívar
|
|
339
|
+
priority: 72
|
|
340
|
+
- code: TWD
|
|
341
|
+
country: TWN
|
|
342
|
+
subunit: 2
|
|
343
|
+
symbol: NT$
|
|
344
|
+
name: New Taiwan Dollar
|
|
345
|
+
priority: 70
|
|
346
|
+
- code: LKR
|
|
347
|
+
country: LKA
|
|
348
|
+
subunit: 2
|
|
349
|
+
symbol: "₨"
|
|
350
|
+
name: Sri Lankan Rupee
|
|
351
|
+
priority: 69
|
|
352
|
+
- code: MWK
|
|
353
|
+
country: MWI
|
|
354
|
+
subunit: 2
|
|
355
|
+
symbol: MK
|
|
356
|
+
name: Malawian Kwacha
|
|
357
|
+
priority: 68
|
|
358
|
+
- code: CLP
|
|
359
|
+
country: CHL
|
|
360
|
+
subunit: 0
|
|
361
|
+
symbol: "$"
|
|
362
|
+
name: Chilean Peso
|
|
363
|
+
priority: 67
|
|
364
|
+
- code: KZT
|
|
365
|
+
country: KAZ
|
|
366
|
+
subunit: 2
|
|
367
|
+
symbol: "₸"
|
|
368
|
+
name: Kazakhstani Tenge
|
|
369
|
+
priority: 66
|
|
370
|
+
- code: ZMW
|
|
371
|
+
country: ZMB
|
|
372
|
+
subunit: 2
|
|
373
|
+
symbol: ZK
|
|
374
|
+
name: Zambian Kwacha
|
|
375
|
+
priority: 65
|
|
376
|
+
- code: RON
|
|
377
|
+
country: ROU
|
|
378
|
+
subunit: 2
|
|
379
|
+
symbol: lei
|
|
380
|
+
name: Romanian Leu
|
|
381
|
+
priority: 64
|
|
382
|
+
- code: GTQ
|
|
383
|
+
country: GTM
|
|
384
|
+
subunit: 2
|
|
385
|
+
symbol: Q
|
|
386
|
+
name: Guatemalan Quetzal
|
|
387
|
+
priority: 63
|
|
388
|
+
- code: KHR
|
|
389
|
+
country: KHM
|
|
390
|
+
subunit: 2
|
|
391
|
+
symbol: "៛"
|
|
392
|
+
name: Cambodian Riel
|
|
393
|
+
priority: 62
|
|
394
|
+
- code: RWF
|
|
395
|
+
country: RWA
|
|
396
|
+
subunit: 0
|
|
397
|
+
symbol: R₣
|
|
398
|
+
name: Rwandan Franc
|
|
399
|
+
priority: 61
|
|
400
|
+
- code: BIF
|
|
401
|
+
country: BDI
|
|
402
|
+
subunit: 0
|
|
403
|
+
symbol: FBu
|
|
404
|
+
name: Burundian Franc
|
|
405
|
+
priority: 60
|
|
406
|
+
- code: BOB
|
|
407
|
+
country: BOL
|
|
408
|
+
subunit: 2
|
|
409
|
+
symbol: "$b"
|
|
410
|
+
name: Bolivian Boliviano
|
|
411
|
+
priority: 59
|
|
412
|
+
- code: HTG
|
|
413
|
+
country: HTI
|
|
414
|
+
subunit: 2
|
|
415
|
+
symbol: G
|
|
416
|
+
name: Haitian Gourde
|
|
417
|
+
priority: 58
|
|
418
|
+
- code: TND
|
|
419
|
+
country: TUN
|
|
420
|
+
subunit: 3
|
|
421
|
+
symbol: د.ت
|
|
422
|
+
name: Tunisian Dinar
|
|
423
|
+
priority: 57
|
|
424
|
+
- code: CZK
|
|
425
|
+
country: CZE
|
|
426
|
+
subunit: 2
|
|
427
|
+
symbol: Kč
|
|
428
|
+
name: Czech Koruna
|
|
429
|
+
priority: 56
|
|
430
|
+
- code: DOP
|
|
431
|
+
country: DOM
|
|
432
|
+
subunit: 2
|
|
433
|
+
symbol: RD$
|
|
434
|
+
name: Dominican Peso
|
|
435
|
+
priority: 55
|
|
436
|
+
- code: HNL
|
|
437
|
+
country: HND
|
|
438
|
+
subunit: 2
|
|
439
|
+
symbol: L
|
|
440
|
+
name: Honduran Lempira
|
|
441
|
+
priority: 54
|
|
442
|
+
- code: JOD
|
|
443
|
+
country: JOR
|
|
444
|
+
subunit: 3
|
|
445
|
+
symbol: د.ا
|
|
446
|
+
name: Jordanian Dinar
|
|
447
|
+
priority: 53
|
|
448
|
+
- code: AZN
|
|
449
|
+
country: AZE
|
|
450
|
+
subunit: 2
|
|
451
|
+
symbol: "₼"
|
|
452
|
+
name: Azerbaijani Manat
|
|
453
|
+
priority: 50
|
|
454
|
+
- code: HUF
|
|
455
|
+
country: HUN
|
|
456
|
+
subunit: 2
|
|
457
|
+
symbol: Ft
|
|
458
|
+
name: Hungarian Forint
|
|
459
|
+
priority: 49
|
|
460
|
+
- code: ILS
|
|
461
|
+
country: ISR
|
|
462
|
+
subunit: 2
|
|
463
|
+
symbol: "₪"
|
|
464
|
+
name: Israeli New Shekel
|
|
465
|
+
priority: 48
|
|
466
|
+
- code: PGK
|
|
467
|
+
country: PNG
|
|
468
|
+
subunit: 2
|
|
469
|
+
symbol: K
|
|
470
|
+
name: Papua New Guinean Kina
|
|
471
|
+
priority: 47
|
|
472
|
+
- code: TJS
|
|
473
|
+
country: TJK
|
|
474
|
+
subunit: 2
|
|
475
|
+
symbol: SM
|
|
476
|
+
name: Tajikistani Somoni
|
|
477
|
+
priority: 46
|
|
478
|
+
- code: BYN
|
|
479
|
+
country: BLR
|
|
480
|
+
subunit: 2
|
|
481
|
+
symbol: Br
|
|
482
|
+
name: Belarusian Ruble
|
|
483
|
+
priority: 45
|
|
484
|
+
- code: LAK
|
|
485
|
+
country: LAO
|
|
486
|
+
subunit: 2
|
|
487
|
+
symbol: "₭"
|
|
488
|
+
name: Lao Kip
|
|
489
|
+
priority: 42
|
|
490
|
+
- code: KGS
|
|
491
|
+
country: KGZ
|
|
492
|
+
subunit: 2
|
|
493
|
+
symbol: лв
|
|
494
|
+
name: Kyrgyzstani Som
|
|
495
|
+
priority: 41
|
|
496
|
+
- code: LYD
|
|
497
|
+
country: LBY
|
|
498
|
+
subunit: 3
|
|
499
|
+
symbol: ل.د
|
|
500
|
+
name: Libyan Dinar
|
|
501
|
+
priority: 40
|
|
502
|
+
- code: NIO
|
|
503
|
+
country: NIC
|
|
504
|
+
subunit: 2
|
|
505
|
+
symbol: C$
|
|
506
|
+
name: Nicaraguan Córdoba
|
|
507
|
+
priority: 39
|
|
508
|
+
- code: PYG
|
|
509
|
+
country: PRY
|
|
510
|
+
subunit: 0
|
|
511
|
+
symbol: Gs
|
|
512
|
+
name: Paraguayan Guarani
|
|
513
|
+
priority: 38
|
|
514
|
+
- code: RSD
|
|
515
|
+
country: SRB
|
|
516
|
+
subunit: 2
|
|
517
|
+
symbol: Дин.
|
|
518
|
+
name: Serbian Dinar
|
|
519
|
+
priority: 37
|
|
520
|
+
- code: BGN
|
|
521
|
+
country: BGR
|
|
522
|
+
subunit: 2
|
|
523
|
+
symbol: лв
|
|
524
|
+
name: Bulgarian Lev
|
|
525
|
+
priority: 36
|
|
526
|
+
- code: CRC
|
|
527
|
+
country: CRI
|
|
528
|
+
subunit: 2
|
|
529
|
+
symbol: "₡"
|
|
530
|
+
name: Costa Rican Colón
|
|
531
|
+
priority: 32
|
|
532
|
+
- code: KWD
|
|
533
|
+
country: KWT
|
|
534
|
+
subunit: 3
|
|
535
|
+
symbol: د.ك
|
|
536
|
+
name: Kuwaiti Dinar
|
|
537
|
+
priority: 30
|
|
538
|
+
- code: OMR
|
|
539
|
+
country: OMN
|
|
540
|
+
subunit: 3
|
|
541
|
+
symbol: "﷼"
|
|
542
|
+
name: Omani Rial
|
|
543
|
+
priority: 29
|
|
544
|
+
- code: PAB
|
|
545
|
+
country: PAN
|
|
546
|
+
subunit: 2
|
|
547
|
+
symbol: B/.
|
|
548
|
+
name: Panamanian Balboa
|
|
549
|
+
priority: 28
|
|
550
|
+
- code: HRK
|
|
551
|
+
country: HRV
|
|
552
|
+
subunit: 2
|
|
553
|
+
symbol: kn
|
|
554
|
+
name: Croatian Kuna
|
|
555
|
+
priority: 27
|
|
556
|
+
- code: GEL
|
|
557
|
+
country: GEO
|
|
558
|
+
subunit: 2
|
|
559
|
+
symbol: "₾"
|
|
560
|
+
name: Georgian Lari
|
|
561
|
+
priority: 26
|
|
562
|
+
- code: UYU
|
|
563
|
+
country: URY
|
|
564
|
+
subunit: 2
|
|
565
|
+
symbol: "$U"
|
|
566
|
+
name: Uruguayan Peso
|
|
567
|
+
priority: 25
|
|
568
|
+
- code: AMD
|
|
569
|
+
country: ARM
|
|
570
|
+
subunit: 2
|
|
571
|
+
symbol: "֏"
|
|
572
|
+
name: Armenian Dram
|
|
573
|
+
priority: 24
|
|
574
|
+
- code: JMD
|
|
575
|
+
country: JAM
|
|
576
|
+
subunit: 2
|
|
577
|
+
symbol: J$
|
|
578
|
+
name: Jamaican Dollar
|
|
579
|
+
priority: 23
|
|
580
|
+
- code: QAR
|
|
581
|
+
country: QAT
|
|
582
|
+
subunit: 2
|
|
583
|
+
symbol: "﷼"
|
|
584
|
+
name: Qatari Riyal
|
|
585
|
+
priority: 22
|
|
586
|
+
- code: BWP
|
|
587
|
+
country: BWA
|
|
588
|
+
subunit: 2
|
|
589
|
+
symbol: P
|
|
590
|
+
name: Botswana Pula
|
|
591
|
+
priority: 21
|
|
592
|
+
- code: MDL
|
|
593
|
+
country: MDA
|
|
594
|
+
subunit: 2
|
|
595
|
+
symbol: L
|
|
596
|
+
name: Moldovan Leu
|
|
597
|
+
priority: 20
|
|
598
|
+
- code: NAD
|
|
599
|
+
country: NAM
|
|
600
|
+
subunit: 2
|
|
601
|
+
symbol: N$
|
|
602
|
+
name: Namibian Dollar
|
|
603
|
+
priority: 19
|
|
604
|
+
- code: LSL
|
|
605
|
+
country: LSO
|
|
606
|
+
subunit: 2
|
|
607
|
+
symbol: L
|
|
608
|
+
name: Lesotho Loti
|
|
609
|
+
priority: 18
|
|
610
|
+
- code: BHD
|
|
611
|
+
country: BHR
|
|
612
|
+
subunit: 3
|
|
613
|
+
symbol: ".د.ب"
|
|
614
|
+
name: Bahraini Dinar
|
|
615
|
+
priority: 17
|
|
616
|
+
- code: TTD
|
|
617
|
+
country: TTO
|
|
618
|
+
subunit: 2
|
|
619
|
+
symbol: TT$
|
|
620
|
+
name: Trinidad and Tobago Dollar
|
|
621
|
+
priority: 16
|
|
622
|
+
- code: SZL
|
|
623
|
+
country: SWZ
|
|
624
|
+
subunit: 2
|
|
625
|
+
symbol: L
|
|
626
|
+
name: Eswatini Lilangeni
|
|
627
|
+
priority: 15
|
|
628
|
+
- code: FJD
|
|
629
|
+
country: FJI
|
|
630
|
+
subunit: 2
|
|
631
|
+
symbol: FJ$
|
|
632
|
+
name: Fijian Dollar
|
|
633
|
+
priority: 14
|
|
634
|
+
- code: GYD
|
|
635
|
+
country: GUY
|
|
636
|
+
subunit: 2
|
|
637
|
+
symbol: G$
|
|
638
|
+
name: Guyanese Dollar
|
|
639
|
+
priority: 13
|
|
640
|
+
- code: SBD
|
|
641
|
+
country: SLB
|
|
642
|
+
subunit: 2
|
|
643
|
+
symbol: SI$
|
|
644
|
+
name: Solomon Islands Dollar
|
|
645
|
+
priority: 12
|
|
646
|
+
- code: SRD
|
|
647
|
+
country: SUR
|
|
648
|
+
subunit: 2
|
|
649
|
+
symbol: Sr$
|
|
650
|
+
name: Surinamese Dollar
|
|
651
|
+
priority: 11
|
|
652
|
+
- code: XCD
|
|
653
|
+
country: null
|
|
654
|
+
subunit: 2
|
|
655
|
+
symbol: EC$
|
|
656
|
+
name: East Caribbean Dollar
|
|
657
|
+
priority: 10
|
|
658
|
+
- code: BND
|
|
659
|
+
country: BRN
|
|
660
|
+
subunit: 2
|
|
661
|
+
symbol: B$
|
|
662
|
+
name: Brunei Dollar
|
|
663
|
+
priority: 9
|
|
664
|
+
- code: BSD
|
|
665
|
+
country: BHS
|
|
666
|
+
subunit: 2
|
|
667
|
+
symbol: B$
|
|
668
|
+
name: Bahamian Dollar
|
|
669
|
+
priority: 8
|
|
670
|
+
- code: BZD
|
|
671
|
+
country: BLZ
|
|
672
|
+
subunit: 2
|
|
673
|
+
symbol: BZ$
|
|
674
|
+
name: Belize Dollar
|
|
675
|
+
priority: 7
|
|
676
|
+
- code: ISK
|
|
677
|
+
country: ISL
|
|
678
|
+
subunit: 0
|
|
679
|
+
symbol: kr
|
|
680
|
+
name: Icelandic Króna
|
|
681
|
+
priority: 6
|
|
682
|
+
- code: BBD
|
|
683
|
+
country: BRB
|
|
684
|
+
subunit: 2
|
|
685
|
+
symbol: Bds$
|
|
686
|
+
name: Barbadian Dollar
|
|
687
|
+
priority: 5
|
|
688
|
+
- code: VUV
|
|
689
|
+
country: VUT
|
|
690
|
+
subunit: 0
|
|
691
|
+
symbol: VT
|
|
692
|
+
name: Vanuatu Vatu
|
|
693
|
+
priority: 4
|
|
694
|
+
- code: XPF
|
|
695
|
+
country: null
|
|
696
|
+
subunit: 0
|
|
697
|
+
symbol: "₣"
|
|
698
|
+
name: CFP Franc
|
|
699
|
+
priority: 3
|
|
700
|
+
- code: WST
|
|
701
|
+
country: WSM
|
|
702
|
+
subunit: 2
|
|
703
|
+
symbol: WS$
|
|
704
|
+
name: Samoan Tala
|
|
705
|
+
priority: 2
|
|
706
|
+
- code: TOP
|
|
707
|
+
country: TON
|
|
708
|
+
subunit: 2
|
|
709
|
+
symbol: T$
|
|
710
|
+
name: Tongan Paʻanga
|
|
711
|
+
priority: 1
|
|
@@ -3,22 +3,23 @@ module Mint
|
|
|
3
3
|
#
|
|
4
4
|
# @see https://www.iso.org/iso-4217-currency-codes.html
|
|
5
5
|
class Currency
|
|
6
|
-
attr_reader :code, :subunit, :symbol
|
|
6
|
+
attr_reader :code, :subunit, :symbol, :priority, :minimum_amount, :country, :name
|
|
7
7
|
|
|
8
8
|
def inspect
|
|
9
9
|
"<Currency:(#{code} #{symbol} #{subunit})>"
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
-
def minimum_amount
|
|
13
|
-
@minimum_amount ||= 10r**-subunit
|
|
14
|
-
end
|
|
15
|
-
|
|
16
12
|
private
|
|
17
13
|
|
|
18
|
-
def initialize(code
|
|
19
|
-
@code = code
|
|
20
|
-
@subunit = subunit
|
|
14
|
+
def initialize(code:, symbol:, subunit: 0, priority: 0, country: nil, name: nil)
|
|
15
|
+
@code = code.to_s
|
|
16
|
+
@subunit = subunit.to_i
|
|
21
17
|
@symbol = symbol
|
|
18
|
+
@priority = priority.to_i
|
|
19
|
+
@country = country
|
|
20
|
+
@name = name
|
|
21
|
+
@minimum_amount = 10r**-@subunit
|
|
22
|
+
freeze
|
|
22
23
|
end
|
|
23
24
|
end
|
|
24
25
|
end
|