shopify-money 0.13.0 → 0.14.3
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/.travis.yml +2 -3
- data/Gemfile +2 -1
- data/README.md +20 -1
- data/Rakefile +1 -0
- data/bin/console +1 -0
- data/config/currency_historic.yml +152 -0
- data/config/currency_iso.yml +2623 -0
- data/config/currency_non_iso.yml +77 -0
- data/dev.yml +1 -1
- data/lib/money.rb +3 -0
- data/lib/money/allocator.rb +10 -11
- data/lib/money/core_extensions.rb +1 -0
- data/lib/money/currency.rb +1 -0
- data/lib/money/currency/loader.rb +28 -15
- data/lib/money/deprecations.rb +1 -0
- data/lib/money/errors.rb +1 -0
- data/lib/money/helpers.rb +5 -15
- data/lib/money/money.rb +3 -2
- data/lib/money/null_currency.rb +1 -0
- data/lib/money/version.rb +2 -1
- data/lib/money_accessor.rb +1 -0
- data/lib/money_column.rb +1 -0
- data/lib/money_column/active_record_hooks.rb +2 -1
- data/lib/money_column/active_record_type.rb +1 -0
- data/lib/money_column/railtie.rb +1 -0
- data/lib/rubocop/cop/money.rb +3 -0
- data/lib/rubocop/cop/money/missing_currency.rb +75 -0
- data/lib/shopify-money.rb +2 -0
- data/money.gemspec +7 -3
- data/spec/accounting_money_parser_spec.rb +1 -0
- data/spec/allocator_spec.rb +13 -0
- data/spec/core_extensions_spec.rb +2 -1
- data/spec/currency/loader_spec.rb +1 -0
- data/spec/currency_spec.rb +1 -0
- data/spec/helpers_spec.rb +1 -6
- data/spec/money_accessor_spec.rb +1 -0
- data/spec/money_column_spec.rb +1 -0
- data/spec/money_parser_spec.rb +1 -0
- data/spec/money_spec.rb +3 -2
- data/spec/null_currency_spec.rb +1 -0
- data/spec/rubocop/cop/money/missing_currency_spec.rb +108 -0
- data/spec/rubocop_helper.rb +10 -0
- data/spec/schema.rb +1 -0
- data/spec/spec_helper.rb +1 -5
- metadata +20 -27
- data/config/currency_historic.json +0 -157
- data/config/currency_iso.json +0 -2642
- data/config/currency_non_iso.json +0 -82
data/spec/allocator_spec.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
RSpec.describe "Allocator" do
|
@@ -67,6 +68,12 @@ RSpec.describe "Allocator" do
|
|
67
68
|
specify "#allocate raise ArgumentError when invalid strategy is provided" do
|
68
69
|
expect { new_allocator(0.03).allocate([0.5, 0.5], :bad_strategy_name) }.to raise_error(ArgumentError, "Invalid strategy. Valid options: :roundrobin, :roundrobin_reverse")
|
69
70
|
end
|
71
|
+
|
72
|
+
specify "#allocate does not raise ArgumentError when invalid splits types are provided" do
|
73
|
+
moneys = new_allocator(0.03).allocate([0.5, 0.5], :roundrobin)
|
74
|
+
expect(moneys[0]).to eq(Money.new(0.02))
|
75
|
+
expect(moneys[1]).to eq(Money.new(0.01))
|
76
|
+
end
|
70
77
|
end
|
71
78
|
|
72
79
|
describe 'allocate_max_amounts' do
|
@@ -127,6 +134,12 @@ RSpec.describe "Allocator" do
|
|
127
134
|
new_allocator(3).allocate_max_amounts([Money.empty, Money.empty, Money.empty]),
|
128
135
|
).to eq([Money.empty, Money.empty, Money.empty])
|
129
136
|
end
|
137
|
+
|
138
|
+
specify "#allocate_max_amounts allocates the right amount without rounding error" do
|
139
|
+
expect(
|
140
|
+
new_allocator(24.2).allocate_max_amounts([Money.new(46), Money.new(46), Money.new(50), Money.new(50),Money.new(50)]),
|
141
|
+
).to eq([Money.new(4.6), Money.new(4.6), Money.new(5), Money.new(5), Money.new(5)])
|
142
|
+
end
|
130
143
|
end
|
131
144
|
|
132
145
|
def new_allocator(amount, currency = nil)
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
RSpec.shared_examples_for "an object supporting to_money" do
|
@@ -56,6 +57,6 @@ RSpec.describe BigDecimal do
|
|
56
57
|
it_should_behave_like "an object supporting to_money"
|
57
58
|
|
58
59
|
it "parses a zero BigDecimal to Money.zero" do
|
59
|
-
expect(BigDecimal
|
60
|
+
expect(BigDecimal("-0.000").to_money).to eq(Money.zero)
|
60
61
|
end
|
61
62
|
end
|
data/spec/currency_spec.rb
CHANGED
data/spec/helpers_spec.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
RSpec.describe Money::Helpers do
|
@@ -49,12 +50,6 @@ RSpec.describe Money::Helpers do
|
|
49
50
|
expect(subject.value_to_decimal('invalid')).to eq(0)
|
50
51
|
end
|
51
52
|
|
52
|
-
it 'returns the bigdecimal representation of numbers while they are deprecated' do
|
53
|
-
expect(Money).to receive(:deprecate).exactly(2).times
|
54
|
-
expect(subject.value_to_decimal('1.23abc')).to eq(amount)
|
55
|
-
expect(subject.value_to_decimal("1.23\n23")).to eq(amount)
|
56
|
-
end
|
57
|
-
|
58
53
|
it 'raises on invalid object' do
|
59
54
|
expect { subject.value_to_decimal(OpenStruct.new(amount: 1)) }.to raise_error(ArgumentError)
|
60
55
|
end
|
data/spec/money_accessor_spec.rb
CHANGED
data/spec/money_column_spec.rb
CHANGED
data/spec/money_parser_spec.rb
CHANGED
data/spec/money_spec.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'spec_helper'
|
2
3
|
require 'yaml'
|
3
4
|
|
@@ -744,8 +745,8 @@ RSpec.describe "Money" do
|
|
744
745
|
end
|
745
746
|
|
746
747
|
it "accepts Rational number" do
|
747
|
-
expect(Money.from_amount(Rational("999999999999999999.999")).value).to eql(BigDecimal
|
748
|
-
expect(Money.from_amount(Rational("999999999999999999.99")).value).to eql(BigDecimal
|
748
|
+
expect(Money.from_amount(Rational("999999999999999999.999")).value).to eql(BigDecimal("1000000000000000000", Money::Helpers::MAX_DECIMAL))
|
749
|
+
expect(Money.from_amount(Rational("999999999999999999.99")).value).to eql(BigDecimal("999999999999999999.99", Money::Helpers::MAX_DECIMAL))
|
749
750
|
end
|
750
751
|
|
751
752
|
it "raises ArgumentError with unsupported argument" do
|
data/spec/null_currency_spec.rb
CHANGED
@@ -0,0 +1,108 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative '../../../rubocop_helper'
|
4
|
+
require 'rubocop/cop/money/missing_currency'
|
5
|
+
|
6
|
+
RSpec.describe RuboCop::Cop::Money::MissingCurrency do
|
7
|
+
subject(:cop) { described_class.new(config) }
|
8
|
+
|
9
|
+
let(:config) { RuboCop::Config.new }
|
10
|
+
|
11
|
+
describe '#on_send' do
|
12
|
+
it 'registers an offense for Money.new without a currency argument' do
|
13
|
+
expect_offense(<<~RUBY)
|
14
|
+
Money.new(1)
|
15
|
+
^^^^^^^^^^^^ Money is missing currency argument
|
16
|
+
RUBY
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'does not register an offense for Money.new with currency argument' do
|
20
|
+
expect_no_offenses(<<~RUBY)
|
21
|
+
Money.new(1, 'CAD')
|
22
|
+
RUBY
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'registers an offense for Money.new without a currency argument' do
|
26
|
+
expect_offense(<<~RUBY)
|
27
|
+
Money.new
|
28
|
+
^^^^^^^^^ Money is missing currency argument
|
29
|
+
RUBY
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'registers an offense for Money.from_amount without a currency argument' do
|
33
|
+
expect_offense(<<~RUBY)
|
34
|
+
Money.from_amount(1)
|
35
|
+
^^^^^^^^^^^^^^^^^^^^ Money is missing currency argument
|
36
|
+
RUBY
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'does not register an offense for Money.from_amount with currency argument' do
|
40
|
+
expect_no_offenses(<<~RUBY)
|
41
|
+
Money.from_amount(1, 'CAD')
|
42
|
+
RUBY
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'registers an offense for Money.from_cents without a currency argument' do
|
46
|
+
expect_offense(<<~RUBY)
|
47
|
+
Money.from_cents(1)
|
48
|
+
^^^^^^^^^^^^^^^^^^^ Money is missing currency argument
|
49
|
+
RUBY
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'does not register an offense for Money.from_cents with currency argument' do
|
53
|
+
expect_no_offenses(<<~RUBY)
|
54
|
+
Money.from_cents(1, 'CAD')
|
55
|
+
RUBY
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'registers an offense for to_money without a currency argument' do
|
59
|
+
expect_offense(<<~RUBY)
|
60
|
+
'1'.to_money
|
61
|
+
^^^^^^^^^^^^ to_money is missing currency argument
|
62
|
+
RUBY
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'does not register an offense for to_money with currency argument' do
|
66
|
+
expect_no_offenses(<<~RUBY)
|
67
|
+
'1'.to_money('CAD')
|
68
|
+
RUBY
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'registers an offense for to_money block pass form' do
|
72
|
+
expect_offense(<<~RUBY)
|
73
|
+
['1'].map(&:to_money)
|
74
|
+
^^^^^^^^^^^^^^^^^^^^^ to_money is missing currency argument
|
75
|
+
RUBY
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe '#autocorrect' do
|
80
|
+
let(:config) do
|
81
|
+
RuboCop::Config.new(
|
82
|
+
'Money/MissingCurrency' => {
|
83
|
+
'ReplacementCurrency' => 'CAD'
|
84
|
+
}
|
85
|
+
)
|
86
|
+
end
|
87
|
+
|
88
|
+
it 'corrects Money.new without currency' do
|
89
|
+
new_source = autocorrect_source('Money.new(1)')
|
90
|
+
expect(new_source).to eq("Money.new(1, 'CAD')")
|
91
|
+
end
|
92
|
+
|
93
|
+
it 'corrects Money.new without amount or currency' do
|
94
|
+
new_source = autocorrect_source('Money.new')
|
95
|
+
expect(new_source).to eq("Money.new(0, 'CAD')")
|
96
|
+
end
|
97
|
+
|
98
|
+
it 'corrects to_money without currency' do
|
99
|
+
new_source = autocorrect_source('1.to_money')
|
100
|
+
expect(new_source).to eq("1.to_money('CAD')")
|
101
|
+
end
|
102
|
+
|
103
|
+
it 'corrects to_money block pass form' do
|
104
|
+
new_source = autocorrect_source("['1'].map(&:to_money)")
|
105
|
+
expect(new_source).to eq("['1'].map { |x| x.to_money('CAD') }")
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
data/spec/schema.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,14 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'simplecov'
|
2
3
|
SimpleCov.minimum_coverage 100
|
3
4
|
SimpleCov.start do
|
4
5
|
add_filter "/spec/"
|
5
6
|
end
|
6
7
|
|
7
|
-
if ENV['CI'] == 'true'
|
8
|
-
require 'codecov'
|
9
|
-
SimpleCov.formatter = SimpleCov::Formatter::Codecov
|
10
|
-
end
|
11
|
-
|
12
8
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
13
9
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
14
10
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shopify-money
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '6.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '6.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,28 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
89
|
+
version: 1.4.2
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: bigdecimal
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 1.3.2
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 1.3.2
|
96
|
+
version: 1.4.2
|
111
97
|
description: Manage money in Shopify with a class that wont lose pennies during division!
|
112
98
|
email: gems@shopify.com
|
113
99
|
executables:
|
@@ -125,9 +111,9 @@ files:
|
|
125
111
|
- README.md
|
126
112
|
- Rakefile
|
127
113
|
- bin/console
|
128
|
-
- config/currency_historic.
|
129
|
-
- config/currency_iso.
|
130
|
-
- config/currency_non_iso.
|
114
|
+
- config/currency_historic.yml
|
115
|
+
- config/currency_iso.yml
|
116
|
+
- config/currency_non_iso.yml
|
131
117
|
- dev.yml
|
132
118
|
- lib/money.rb
|
133
119
|
- lib/money/accounting_money_parser.rb
|
@@ -147,6 +133,9 @@ files:
|
|
147
133
|
- lib/money_column/active_record_hooks.rb
|
148
134
|
- lib/money_column/active_record_type.rb
|
149
135
|
- lib/money_column/railtie.rb
|
136
|
+
- lib/rubocop/cop/money.rb
|
137
|
+
- lib/rubocop/cop/money/missing_currency.rb
|
138
|
+
- lib/shopify-money.rb
|
150
139
|
- money.gemspec
|
151
140
|
- spec/accounting_money_parser_spec.rb
|
152
141
|
- spec/allocator_spec.rb
|
@@ -159,12 +148,15 @@ files:
|
|
159
148
|
- spec/money_parser_spec.rb
|
160
149
|
- spec/money_spec.rb
|
161
150
|
- spec/null_currency_spec.rb
|
151
|
+
- spec/rubocop/cop/money/missing_currency_spec.rb
|
152
|
+
- spec/rubocop_helper.rb
|
162
153
|
- spec/schema.rb
|
163
154
|
- spec/spec_helper.rb
|
164
155
|
homepage: https://github.com/Shopify/money
|
165
156
|
licenses:
|
166
157
|
- MIT
|
167
|
-
metadata:
|
158
|
+
metadata:
|
159
|
+
allowed_push_host: https://rubygems.org
|
168
160
|
post_install_message:
|
169
161
|
rdoc_options: []
|
170
162
|
require_paths:
|
@@ -173,15 +165,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
173
165
|
requirements:
|
174
166
|
- - ">="
|
175
167
|
- !ruby/object:Gem::Version
|
176
|
-
version: '
|
168
|
+
version: '2.6'
|
177
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
178
170
|
requirements:
|
179
171
|
- - ">="
|
180
172
|
- !ruby/object:Gem::Version
|
181
173
|
version: '0'
|
182
174
|
requirements: []
|
183
|
-
|
184
|
-
rubygems_version: 2.7.6
|
175
|
+
rubygems_version: 3.0.3
|
185
176
|
signing_key:
|
186
177
|
specification_version: 4
|
187
178
|
summary: Shopify's money gem
|
@@ -197,5 +188,7 @@ test_files:
|
|
197
188
|
- spec/money_parser_spec.rb
|
198
189
|
- spec/money_spec.rb
|
199
190
|
- spec/null_currency_spec.rb
|
191
|
+
- spec/rubocop/cop/money/missing_currency_spec.rb
|
192
|
+
- spec/rubocop_helper.rb
|
200
193
|
- spec/schema.rb
|
201
194
|
- spec/spec_helper.rb
|
@@ -1,157 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"cyp": {
|
3
|
-
"priority": 100,
|
4
|
-
"iso_code": "CYP",
|
5
|
-
"name": "Cypriot pound",
|
6
|
-
"symbol": "£",
|
7
|
-
"alternate_symbols": [],
|
8
|
-
"subunit": "Cent",
|
9
|
-
"subunit_to_unit": 100,
|
10
|
-
"symbol_first": true,
|
11
|
-
"html_entity": "£",
|
12
|
-
"decimal_mark": ".",
|
13
|
-
"thousands_separator": ",",
|
14
|
-
"iso_numeric": "196",
|
15
|
-
"smallest_denomination": 1
|
16
|
-
},
|
17
|
-
"eek": {
|
18
|
-
"priority": 100,
|
19
|
-
"iso_code": "EEK",
|
20
|
-
"name": "Estonian Kroon",
|
21
|
-
"symbol": "KR",
|
22
|
-
"alternate_symbols": [],
|
23
|
-
"subunit": "Sent",
|
24
|
-
"subunit_to_unit": 100,
|
25
|
-
"symbol_first": false,
|
26
|
-
"html_entity": "",
|
27
|
-
"decimal_mark": ".",
|
28
|
-
"thousands_separator": ",",
|
29
|
-
"iso_numeric": "233",
|
30
|
-
"smallest_denomination": 5
|
31
|
-
},
|
32
|
-
"ghc": {
|
33
|
-
"priority": 100,
|
34
|
-
"iso_code": "GHS",
|
35
|
-
"name": "Ghanaian Cedi",
|
36
|
-
"symbol": "₵",
|
37
|
-
"disambiguate_symbol": "GH₵",
|
38
|
-
"alternate_symbols": ["GH₵"],
|
39
|
-
"subunit": "Pesewa",
|
40
|
-
"subunit_to_unit": 100,
|
41
|
-
"symbol_first": true,
|
42
|
-
"html_entity": "₵",
|
43
|
-
"decimal_mark": ".",
|
44
|
-
"thousands_separator": ",",
|
45
|
-
"iso_numeric": "288",
|
46
|
-
"smallest_denomination": 1
|
47
|
-
},
|
48
|
-
"mtl": {
|
49
|
-
"priority": 100,
|
50
|
-
"iso_code": "MTL",
|
51
|
-
"name": "Maltese Lira",
|
52
|
-
"symbol": "₤",
|
53
|
-
"alternate_symbols": ["Lm"],
|
54
|
-
"subunit": "Cent",
|
55
|
-
"subunit_to_unit": 100,
|
56
|
-
"symbol_first": true,
|
57
|
-
"html_entity": "£",
|
58
|
-
"decimal_mark": ".",
|
59
|
-
"thousands_separator": ",",
|
60
|
-
"iso_numeric": "470",
|
61
|
-
"smallest_denomination": 1
|
62
|
-
},
|
63
|
-
"tmm": {
|
64
|
-
"priority": 100,
|
65
|
-
"iso_code": "TMM",
|
66
|
-
"name": "Turkmenistani Manat",
|
67
|
-
"symbol": "m",
|
68
|
-
"alternate_symbols": [],
|
69
|
-
"subunit": "Tennesi",
|
70
|
-
"subunit_to_unit": 100,
|
71
|
-
"symbol_first": false,
|
72
|
-
"html_entity": "",
|
73
|
-
"decimal_mark": ".",
|
74
|
-
"thousands_separator": ",",
|
75
|
-
"iso_numeric": "795",
|
76
|
-
"smallest_denomination": 1
|
77
|
-
},
|
78
|
-
"VEB": {
|
79
|
-
"priority": 100,
|
80
|
-
"iso_code": "VEB",
|
81
|
-
"name": "Venezuelan Bolívar",
|
82
|
-
"symbol": "Bs.",
|
83
|
-
"alternate_symbols": [],
|
84
|
-
"subunit": "Céntimo",
|
85
|
-
"subunit_to_unit": 100,
|
86
|
-
"symbol_first": true,
|
87
|
-
"html_entity": "",
|
88
|
-
"decimal_mark": ",",
|
89
|
-
"thousands_separator": ".",
|
90
|
-
"iso_numeric": "862",
|
91
|
-
"smallest_denomination": 1
|
92
|
-
},
|
93
|
-
"zwd": {
|
94
|
-
"priority": 100,
|
95
|
-
"iso_code": "ZWD",
|
96
|
-
"name": "Zimbabwean Dollar",
|
97
|
-
"symbol": "$",
|
98
|
-
"disambiguate_symbol": "ZWD",
|
99
|
-
"alternate_symbols": ["Z$"],
|
100
|
-
"subunit": "Cent",
|
101
|
-
"subunit_to_unit": 100,
|
102
|
-
"symbol_first": true,
|
103
|
-
"html_entity": "$",
|
104
|
-
"decimal_mark": ".",
|
105
|
-
"thousands_separator": ",",
|
106
|
-
"iso_numeric": "716",
|
107
|
-
"smallest_denomination": 100
|
108
|
-
},
|
109
|
-
"zwl": {
|
110
|
-
"priority": 100,
|
111
|
-
"iso_code": "ZWL",
|
112
|
-
"name": "Zimbabwean Dollar",
|
113
|
-
"symbol": "$",
|
114
|
-
"disambiguate_symbol": "ZWL",
|
115
|
-
"alternate_symbols": ["Z$"],
|
116
|
-
"subunit": "Cent",
|
117
|
-
"subunit_to_unit": 100,
|
118
|
-
"symbol_first": true,
|
119
|
-
"html_entity": "$",
|
120
|
-
"decimal_mark": ".",
|
121
|
-
"thousands_separator": ",",
|
122
|
-
"iso_numeric": "932",
|
123
|
-
"smallest_denomination": 100
|
124
|
-
},
|
125
|
-
"zwn": {
|
126
|
-
"priority": 100,
|
127
|
-
"iso_code": "ZWN",
|
128
|
-
"name": "Zimbabwean Dollar",
|
129
|
-
"symbol": "$",
|
130
|
-
"disambiguate_symbol": "ZWN",
|
131
|
-
"alternate_symbols": ["Z$"],
|
132
|
-
"subunit": "Cent",
|
133
|
-
"subunit_to_unit": 100,
|
134
|
-
"symbol_first": true,
|
135
|
-
"html_entity": "$",
|
136
|
-
"decimal_mark": ".",
|
137
|
-
"thousands_separator": ",",
|
138
|
-
"iso_numeric": "942",
|
139
|
-
"smallest_denomination": 100
|
140
|
-
},
|
141
|
-
"zwr": {
|
142
|
-
"priority": 100,
|
143
|
-
"iso_code": "ZWR",
|
144
|
-
"name": "Zimbabwean Dollar",
|
145
|
-
"symbol": "$",
|
146
|
-
"disambiguate_symbol": "ZWR",
|
147
|
-
"alternate_symbols": ["Z$"],
|
148
|
-
"subunit": "Cent",
|
149
|
-
"subunit_to_unit": 100,
|
150
|
-
"symbol_first": true,
|
151
|
-
"html_entity": "$",
|
152
|
-
"decimal_mark": ".",
|
153
|
-
"thousands_separator": ",",
|
154
|
-
"iso_numeric": "935",
|
155
|
-
"smallest_denomination": 100
|
156
|
-
}
|
157
|
-
}
|