shopify-money 0.14.1 → 0.14.6
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 +0 -3
- data/Gemfile +2 -1
- data/README.md +20 -1
- data/Rakefile +1 -0
- data/bin/console +1 -0
- data/config/currency_historic.yml +181 -0
- data/config/currency_iso.yml +2630 -0
- data/config/currency_non_iso.yml +96 -0
- data/dev.yml +1 -1
- data/lib/money.rb +3 -0
- data/lib/money/allocator.rb +1 -0
- 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 +17 -5
- 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 +1 -0
- data/spec/core_extensions_spec.rb +1 -0
- 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 +28 -0
- 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 +19 -25
- 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
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('0.00123e3')).to eq(amount)
|
55
|
-
expect(subject.value_to_decimal("0.123e1")).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
|
|
@@ -79,6 +80,33 @@ RSpec.describe "Money" do
|
|
79
80
|
expect(non_fractional_money.to_s(:amount)).to eq("1")
|
80
81
|
end
|
81
82
|
|
83
|
+
it "to_s correctly displays negative numbers" do
|
84
|
+
expect((-money).to_s).to eq("-1.00")
|
85
|
+
expect((-amount_money).to_s).to eq("-1.23")
|
86
|
+
expect((-non_fractional_money).to_s).to eq("-1")
|
87
|
+
expect((-Money.new("0.05")).to_s).to eq("-0.05")
|
88
|
+
end
|
89
|
+
|
90
|
+
it "to_s rounds when more fractions than currency allows" do
|
91
|
+
expect(Money.new("9.999", "USD").to_s).to eq("10.00")
|
92
|
+
expect(Money.new("9.889", "USD").to_s).to eq("9.89")
|
93
|
+
end
|
94
|
+
|
95
|
+
it "to_s does not round when fractions same as currency allows" do
|
96
|
+
expect(Money.new("1.25", "USD").to_s).to eq("1.25")
|
97
|
+
expect(Money.new("9.99", "USD").to_s).to eq("9.99")
|
98
|
+
expect(Money.new("9.999", "BHD").to_s).to eq("9.999")
|
99
|
+
end
|
100
|
+
|
101
|
+
it "to_s does not round if amount is larger than float allows" do
|
102
|
+
expect(Money.new("99999999999999.99", "USD").to_s).to eq("99999999999999.99")
|
103
|
+
expect(Money.new("999999999999999999.99", "USD").to_s).to eq("999999999999999999.99")
|
104
|
+
end
|
105
|
+
|
106
|
+
it "to_s raises ArgumentError on unsupported style" do
|
107
|
+
expect{ money.to_s(:some_weird_style) }.to raise_error(ArgumentError)
|
108
|
+
end
|
109
|
+
|
82
110
|
it "as_json as a float with 2 decimal places" do
|
83
111
|
expect(money.as_json).to eq("1.00")
|
84
112
|
end
|
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.14.
|
4
|
+
version: 0.14.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify Inc
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-19 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.4.4
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 1.4.4
|
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,7 +165,7 @@ 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
|
- - ">="
|
@@ -196,5 +188,7 @@ test_files:
|
|
196
188
|
- spec/money_parser_spec.rb
|
197
189
|
- spec/money_spec.rb
|
198
190
|
- spec/null_currency_spec.rb
|
191
|
+
- spec/rubocop/cop/money/missing_currency_spec.rb
|
192
|
+
- spec/rubocop_helper.rb
|
199
193
|
- spec/schema.rb
|
200
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
|
-
}
|