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.
@@ -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, subunit:, symbol:)
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