minting 1.9.6 → 1.9.7

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.
@@ -1,20 +1,13 @@
1
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
2
  - code: USD
11
3
  country: USA
12
4
  subunit: 2
13
5
  symbol: "$"
14
6
  name: United States Dollar
15
7
  priority: 1000
8
+ disambiguate_symbol: US$
16
9
  - code: EUR
17
- country: null
10
+ country:
18
11
  subunit: 2
19
12
  symbol: "€"
20
13
  name: Euro
@@ -49,12 +42,14 @@
49
42
  symbol: "$"
50
43
  name: Canadian Dollar
51
44
  priority: 740
45
+ disambiguate_symbol: C$
52
46
  - code: AUD
53
47
  country: AUS
54
48
  subunit: 2
55
49
  symbol: "$"
56
50
  name: Australian Dollar
57
51
  priority: 730
52
+ disambiguate_symbol: A$
58
53
  - code: CHF
59
54
  country: CHE
60
55
  subunit: 2
@@ -67,12 +62,14 @@
67
62
  symbol: HK$
68
63
  name: Hong Kong Dollar
69
64
  priority: 710
65
+ disambiguate_symbol: HK$
70
66
  - code: SGD
71
67
  country: SGP
72
68
  subunit: 2
73
69
  symbol: S$
74
70
  name: Singapore Dollar
75
71
  priority: 700
72
+ disambiguate_symbol: S$
76
73
  - code: KRW
77
74
  country: KOR
78
75
  subunit: 0
@@ -85,30 +82,35 @@
85
82
  symbol: kr
86
83
  name: Swedish Krona
87
84
  priority: 680
85
+ disambiguate_symbol: SEK
88
86
  - code: NOK
89
87
  country: NOR
90
88
  subunit: 2
91
89
  symbol: kr
92
90
  name: Norwegian Krone
93
91
  priority: 670
92
+ disambiguate_symbol: NOK
94
93
  - code: DKK
95
94
  country: DNK
96
95
  subunit: 2
97
96
  symbol: kr
98
97
  name: Danish Krone
99
98
  priority: 660
99
+ disambiguate_symbol: DKK
100
100
  - code: NZD
101
101
  country: NZL
102
102
  subunit: 2
103
103
  symbol: "$"
104
104
  name: New Zealand Dollar
105
105
  priority: 650
106
+ disambiguate_symbol: NZ$
106
107
  - code: MXN
107
108
  country: MEX
108
109
  subunit: 2
109
110
  symbol: "$"
110
111
  name: Mexican Peso
111
112
  priority: 640
113
+ disambiguate_symbol: MEX$
112
114
  - code: BRL
113
115
  country: BRA
114
116
  subunit: 2
@@ -151,6 +153,7 @@
151
153
  symbol: "₨"
152
154
  name: Pakistani Rupee
153
155
  priority: 112
156
+ disambiguate_symbol: PKR
154
157
  - code: NGN
155
158
  country: NGA
156
159
  subunit: 2
@@ -170,11 +173,12 @@
170
173
  name: Bangladeshi Taka
171
174
  priority: 109
172
175
  - code: XOF
173
- country: null
176
+ country:
174
177
  subunit: 0
175
178
  symbol: CFA
176
179
  name: West African CFA franc
177
180
  priority: 108
181
+ disambiguate_symbol: CFA
178
182
  - code: RUB
179
183
  country: RUS
180
184
  subunit: 2
@@ -193,6 +197,7 @@
193
197
  symbol: Br
194
198
  name: Ethiopian Birr
195
199
  priority: 105
200
+ disambiguate_symbol: ETB
196
201
  - code: ZWL
197
202
  country: ZWE
198
203
  subunit: 2
@@ -248,11 +253,12 @@
248
253
  name: Tanzanian Shilling
249
254
  priority: 96
250
255
  - code: XAF
251
- country: null
256
+ country:
252
257
  subunit: 0
253
258
  symbol: FCFA
254
259
  name: Central African CFA franc
255
260
  priority: 95
261
+ disambiguate_symbol: FCFA
256
262
  - code: DJF
257
263
  country: DJI
258
264
  subunit: 0
@@ -271,12 +277,14 @@
271
277
  symbol: K
272
278
  name: Myanmar Kyat
273
279
  priority: 92
280
+ disambiguate_symbol: MMK
274
281
  - code: COP
275
282
  country: COL
276
283
  subunit: 2
277
284
  symbol: "$"
278
285
  name: Colombian Peso
279
286
  priority: 91
287
+ disambiguate_symbol: COL$
280
288
  - code: ERN
281
289
  country: ERI
282
290
  subunit: 2
@@ -295,6 +303,7 @@
295
303
  symbol: "$"
296
304
  name: Argentine Peso
297
305
  priority: 88
306
+ disambiguate_symbol: "$m/n"
298
307
  - code: DZD
299
308
  country: DZA
300
309
  subunit: 2
@@ -385,6 +394,7 @@
385
394
  symbol: "₨"
386
395
  name: Nepalese Rupee
387
396
  priority: 73
397
+ disambiguate_symbol: NPR
388
398
  - code: VES
389
399
  country: VEN
390
400
  subunit: 2
@@ -397,18 +407,21 @@
397
407
  symbol: "£"
398
408
  name: South Sudanese Pound
399
409
  priority: 71
410
+ disambiguate_symbol: SSP
400
411
  - code: TWD
401
412
  country: TWN
402
413
  subunit: 2
403
414
  symbol: NT$
404
415
  name: New Taiwan Dollar
405
416
  priority: 70
417
+ disambiguate_symbol: NT$
406
418
  - code: LKR
407
419
  country: LKA
408
420
  subunit: 2
409
421
  symbol: "₨"
410
422
  name: Sri Lankan Rupee
411
423
  priority: 69
424
+ disambiguate_symbol: SLRs
412
425
  - code: MWK
413
426
  country: MWI
414
427
  subunit: 2
@@ -421,6 +434,7 @@
421
434
  symbol: "$"
422
435
  name: Chilean Peso
423
436
  priority: 67
437
+ disambiguate_symbol: CLP
424
438
  - code: KZT
425
439
  country: KAZ
426
440
  subunit: 2
@@ -433,6 +447,7 @@
433
447
  symbol: ZK
434
448
  name: Zambian Kwacha
435
449
  priority: 65
450
+ disambiguate_symbol: ZMW
436
451
  - code: RON
437
452
  country: ROU
438
453
  subunit: 2
@@ -463,6 +478,7 @@
463
478
  symbol: FBu
464
479
  name: Burundian Franc
465
480
  priority: 60
481
+ disambiguate_symbol: FBu
466
482
  - code: BOB
467
483
  country: BOL
468
484
  subunit: 2
@@ -493,12 +509,14 @@
493
509
  symbol: RD$
494
510
  name: Dominican Peso
495
511
  priority: 55
512
+ disambiguate_symbol: RD$
496
513
  - code: HNL
497
514
  country: HND
498
515
  subunit: 2
499
516
  symbol: L
500
517
  name: Honduran Lempira
501
518
  priority: 54
519
+ disambiguate_symbol: HNL
502
520
  - code: JOD
503
521
  country: JOR
504
522
  subunit: 3
@@ -511,6 +529,7 @@
511
529
  symbol: L
512
530
  name: Albanian Lek
513
531
  priority: 52
532
+ disambiguate_symbol: Lek
514
533
  - code: MKD
515
534
  country: MKD
516
535
  subunit: 2
@@ -541,6 +560,7 @@
541
560
  symbol: K
542
561
  name: Papua New Guinean Kina
543
562
  priority: 47
563
+ disambiguate_symbol: PGK
544
564
  - code: TJS
545
565
  country: TJK
546
566
  subunit: 2
@@ -553,6 +573,7 @@
553
573
  symbol: Br
554
574
  name: Belarusian Ruble
555
575
  priority: 45
576
+ disambiguate_symbol: BYN
556
577
  - code: BAM
557
578
  country: BIH
558
579
  subunit: 2
@@ -595,6 +616,7 @@
595
616
  symbol: C$
596
617
  name: Nicaraguan Córdoba
597
618
  priority: 39
619
+ disambiguate_symbol: NIO$
598
620
  - code: PYG
599
621
  country: PRY
600
622
  subunit: 0
@@ -619,6 +641,7 @@
619
641
  symbol: Fr
620
642
  name: Guinean Franc
621
643
  priority: 35
644
+ disambiguate_symbol: FG
622
645
  - code: GMD
623
646
  country: GMB
624
647
  subunit: 2
@@ -631,12 +654,14 @@
631
654
  symbol: Le
632
655
  name: Sierra Leonean Leone
633
656
  priority: 33
657
+ disambiguate_symbol: SLL
634
658
  - code: STN
635
659
  country: STP
636
660
  subunit: 2
637
661
  symbol: Db
638
662
  name: São Tomé and Príncipe Dobra
639
663
  priority: 31
664
+ disambiguate_symbol: STN
640
665
  - code: CRC
641
666
  country: CRI
642
667
  subunit: 2
@@ -679,6 +704,7 @@
679
704
  symbol: CF
680
705
  name: Comorian Franc
681
706
  priority: 26
707
+ disambiguate_symbol: CF
682
708
  - code: GEL
683
709
  country: GEO
684
710
  subunit: 2
@@ -697,6 +723,7 @@
697
723
  symbol: "₨"
698
724
  name: Seychellois Rupee
699
725
  priority: 24
726
+ disambiguate_symbol: SRe
700
727
  - code: AMD
701
728
  country: ARM
702
729
  subunit: 2
@@ -709,6 +736,7 @@
709
736
  symbol: J$
710
737
  name: Jamaican Dollar
711
738
  priority: 23
739
+ disambiguate_symbol: J$
712
740
  - code: QAR
713
741
  country: QAT
714
742
  subunit: 2
@@ -734,7 +762,7 @@
734
762
  name: Moldovan Leu
735
763
  priority: 20
736
764
  - code: ANG
737
- country: null
765
+ country:
738
766
  subunit: 2
739
767
  symbol: ƒ
740
768
  name: Netherlands Antillean Guilder
@@ -745,24 +773,28 @@
745
773
  symbol: N$
746
774
  name: Namibian Dollar
747
775
  priority: 19
776
+ disambiguate_symbol: N$
748
777
  - code: CVE
749
778
  country: CPV
750
779
  subunit: 2
751
- symbol: $
780
+ symbol: "$"
752
781
  name: Cape Verdean Escudo
753
782
  priority: 18
783
+ disambiguate_symbol: Esc
754
784
  - code: LSL
755
785
  country: LSO
756
786
  subunit: 2
757
787
  symbol: L
758
788
  name: Lesotho Loti
759
789
  priority: 18
790
+ disambiguate_symbol: M
760
791
  - code: GIP
761
792
  country: GIB
762
793
  subunit: 2
763
- symbol: £
794
+ symbol: "£"
764
795
  name: Gibraltar Pound
765
796
  priority: 17
797
+ disambiguate_symbol: GIP
766
798
  - code: BHD
767
799
  country: BHR
768
800
  subunit: 3
@@ -772,69 +804,80 @@
772
804
  - code: FKP
773
805
  country: FLK
774
806
  subunit: 2
775
- symbol: £
807
+ symbol: "£"
776
808
  name: Falkland Islands Pound
777
809
  priority: 16
810
+ disambiguate_symbol: FK£
778
811
  - code: TTD
779
812
  country: TTO
780
813
  subunit: 2
781
814
  symbol: TT$
782
815
  name: Trinidad and Tobago Dollar
783
816
  priority: 16
817
+ disambiguate_symbol: TT$
784
818
  - code: SZL
785
819
  country: SWZ
786
820
  subunit: 2
787
821
  symbol: L
788
822
  name: Eswatini Lilangeni
789
823
  priority: 15
824
+ disambiguate_symbol: SZL
790
825
  - code: FJD
791
826
  country: FJI
792
827
  subunit: 2
793
828
  symbol: FJ$
794
829
  name: Fijian Dollar
795
830
  priority: 14
831
+ disambiguate_symbol: FJ$
796
832
  - code: GYD
797
833
  country: GUY
798
834
  subunit: 2
799
835
  symbol: G$
800
836
  name: Guyanese Dollar
801
837
  priority: 13
838
+ disambiguate_symbol: G$
802
839
  - code: SBD
803
840
  country: SLB
804
841
  subunit: 2
805
842
  symbol: SI$
806
843
  name: Solomon Islands Dollar
807
844
  priority: 12
845
+ disambiguate_symbol: SI$
808
846
  - code: SRD
809
847
  country: SUR
810
848
  subunit: 2
811
849
  symbol: Sr$
812
850
  name: Surinamese Dollar
813
851
  priority: 11
852
+ disambiguate_symbol: SRD
814
853
  - code: XCD
815
- country: null
854
+ country:
816
855
  subunit: 2
817
856
  symbol: EC$
818
857
  name: East Caribbean Dollar
819
858
  priority: 10
859
+ disambiguate_symbol: EX$
820
860
  - code: BND
821
861
  country: BRN
822
862
  subunit: 2
823
863
  symbol: B$
824
864
  name: Brunei Dollar
825
865
  priority: 9
866
+ disambiguate_symbol: BND
826
867
  - code: BSD
827
868
  country: BHS
828
869
  subunit: 2
829
870
  symbol: B$
830
871
  name: Bahamian Dollar
831
872
  priority: 8
873
+ disambiguate_symbol: BSD
832
874
  - code: BZD
833
875
  country: BLZ
834
876
  subunit: 2
835
877
  symbol: BZ$
836
878
  name: Belize Dollar
837
879
  priority: 7
880
+ disambiguate_symbol: BZ$
838
881
  - code: ISK
839
882
  country: ISL
840
883
  subunit: 0
@@ -847,6 +890,7 @@
847
890
  symbol: Bds$
848
891
  name: Barbadian Dollar
849
892
  priority: 5
893
+ disambiguate_symbol: Bds$
850
894
  - code: VUV
851
895
  country: VUT
852
896
  subunit: 0
@@ -854,7 +898,7 @@
854
898
  name: Vanuatu Vatu
855
899
  priority: 4
856
900
  - code: XPF
857
- country: null
901
+ country:
858
902
  subunit: 0
859
903
  symbol: "₣"
860
904
  name: CFP Franc
@@ -865,6 +909,7 @@
865
909
  symbol: WS$
866
910
  name: Samoan Tala
867
911
  priority: 2
912
+ disambiguate_symbol: WS$
868
913
  - code: TOP
869
914
  country: TON
870
915
  subunit: 2
@@ -872,9 +917,9 @@
872
917
  name: Tongan Paʻanga
873
918
  priority: 1
874
919
  - code: XXX
875
- country: null
920
+ country:
876
921
  subunit: 4
877
- symbol: ¤
922
+ symbol: "¤"
878
923
  name: No Currency
879
924
  priority: 0
880
925
  - code: AWG
@@ -889,18 +934,21 @@
889
934
  symbol: "$"
890
935
  name: Bermudian Dollar
891
936
  priority: 0
937
+ disambiguate_symbol: BD$
892
938
  - code: CDF
893
939
  country: COD
894
940
  subunit: 2
895
941
  symbol: Fr
896
942
  name: Congolese Franc
897
943
  priority: 0
944
+ disambiguate_symbol: FC
898
945
  - code: CUP
899
946
  country: CUB
900
947
  subunit: 2
901
948
  symbol: "$"
902
949
  name: Cuban Peso
903
950
  priority: 0
951
+ disambiguate_symbol: "$MN"
904
952
  - code: FOK
905
953
  country: FRO
906
954
  subunit: 2
@@ -910,19 +958,19 @@
910
958
  - code: GGP
911
959
  country: GGY
912
960
  subunit: 2
913
- symbol: £
961
+ symbol: "£"
914
962
  name: Guernsey Pound
915
963
  priority: 0
916
964
  - code: IMP
917
965
  country: IMN
918
966
  subunit: 2
919
- symbol: £
967
+ symbol: "£"
920
968
  name: Manx Pound
921
969
  priority: 0
922
970
  - code: JEP
923
971
  country: JEY
924
972
  subunit: 2
925
- symbol: £
973
+ symbol: "£"
926
974
  name: Jersey Pound
927
975
  priority: 0
928
976
  - code: KID
@@ -937,12 +985,14 @@
937
985
  symbol: "$"
938
986
  name: Cayman Islands Dollar
939
987
  priority: 0
988
+ disambiguate_symbol: CI$
940
989
  - code: LRD
941
990
  country: LBR
942
991
  subunit: 2
943
992
  symbol: "$"
944
993
  name: Liberian Dollar
945
994
  priority: 0
995
+ disambiguate_symbol: L$
946
996
  - code: MGA
947
997
  country: MDG
948
998
  subunit: 2
@@ -967,12 +1017,14 @@
967
1017
  symbol: "£"
968
1018
  name: Sudanese Pound
969
1019
  priority: 0
1020
+ disambiguate_symbol: SDG
970
1021
  - code: SHP
971
1022
  country: SHN
972
1023
  subunit: 2
973
1024
  symbol: "£"
974
1025
  name: Saint Helena Pound
975
1026
  priority: 0
1027
+ disambiguate_symbol: SHP
976
1028
  - code: SLE
977
1029
  country: SLE
978
1030
  subunit: 2
@@ -986,7 +1038,7 @@
986
1038
  name: Tuvaluan Dollar
987
1039
  priority: 0
988
1040
  - code: XDR
989
- country: null
1041
+ country:
990
1042
  subunit: 0
991
1043
  symbol: SDR
992
1044
  name: Special Drawing Rights
@@ -36,7 +36,7 @@ module Mint
36
36
  def resolve_locale_for(format, decimal, thousand)
37
37
  locale = locale_backend
38
38
 
39
- [format || locale[:format] || '%<symbol>s%<amount>f',
39
+ [format || locale[:format] || DEFAULT_FORMAT,
40
40
  decimal || locale[:decimal] || '.',
41
41
  thousand.nil? ? (locale[:thousand] || ',') : thousand]
42
42
  end
@@ -10,6 +10,7 @@ module Mint
10
10
  MODES = {
11
11
  half_up: ->(amount, ndigits) { amount.round(ndigits, half: :up) },
12
12
  half_down: ->(amount, ndigits) { amount.round(ndigits, half: :down) },
13
+ half_even: ->(amount, ndigits) { amount.round(ndigits, half: :even) },
13
14
  floor: ->(amount, ndigits) { amount.floor(ndigits) },
14
15
  ceil: ->(amount, ndigits) { amount.ceil(ndigits) },
15
16
  truncate: ->(amount, ndigits) { amount.truncate(ndigits) },
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bigdecimal'
4
+ require 'bigdecimal/util'
4
5
  require 'erb'
5
6
 
6
7
  module Mint