Skip to content

Commit 8d64616

Browse files
feature: Add support for ETH currency in Money library
1 parent 73b84b5 commit 8d64616

File tree

4 files changed

+23
-0
lines changed

4 files changed

+23
-0
lines changed

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Dave Kroondyk
3030
Diego Aguir Selzlein
3131
Doug Droper
3232
Douglas Miller
33+
Douglas Suptitz Franca
3334
Ed Saunders
3435
Edwin Vlieg
3536
Eloy

config/currency_non_iso.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,5 +142,20 @@
142142
"thousands_separator": ",",
143143
"iso_numeric": "",
144144
"smallest_denomination": 1
145+
},
146+
"eth": {
147+
"priority": 100,
148+
"iso_code": "ETH",
149+
"name": "Ethereum",
150+
"symbol": "Ξ",
151+
"alternate_symbols": [],
152+
"subunit": "Wei",
153+
"subunit_to_unit": 1000000000000000000,
154+
"symbol_first": true,
155+
"html_entity": "Ξ",
156+
"decimal_mark": ".",
157+
"thousands_separator": ",",
158+
"iso_numeric": "",
159+
"smallest_denomination": 1
145160
}
146161
}

spec/currency_spec.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,7 @@ def to_s
336336

337337
it "returns false if the currency is not iso" do
338338
expect(described_class.new(:btc).iso?).to be false
339+
expect(described_class.new(:eth).iso?).to be false
339340
end
340341
end
341342

spec/money/formatting_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -917,20 +917,26 @@
917917
specify "(drop_trailing_zeros: true) works as documented" do
918918
expect(Money.new(89000, "BTC").format(drop_trailing_zeros: true, symbol: false)).to eq "0.00089"
919919
expect(Money.new(89000, "BCH").format(drop_trailing_zeros: true, symbol: false)).to eq "0.00089"
920+
expect(Money.new(890000000000000000, "ETH").format(drop_trailing_zeros: true, symbol: false)).to eq "0.89"
920921
expect(Money.new(100089000, "BTC").format(drop_trailing_zeros: true, symbol: false)).to eq "1.00089"
921922
expect(Money.new(100089000, "BCH").format(drop_trailing_zeros: true, symbol: false)).to eq "1.00089"
923+
expect(Money.new(1000890000000000000, "ETH").format(drop_trailing_zeros: true, symbol: false)).to eq "1.00089"
922924
expect(Money.new(100000000, "BTC").format(drop_trailing_zeros: true, symbol: false)).to eq "1"
923925
expect(Money.new(100000000, "BCH").format(drop_trailing_zeros: true, symbol: false)).to eq "1"
926+
expect(Money.new(1000000000000000000, "ETH").format(drop_trailing_zeros: true, symbol: false)).to eq "1"
924927
expect(Money.new(110, "AUD").format(drop_trailing_zeros: true, symbol: false)).to eq "1.1"
925928
end
926929

927930
specify "(drop_trailing_zeros: false) works as documented" do
928931
expect(Money.new(89000, "BTC").format(drop_trailing_zeros: false, symbol: false)).to eq "0.00089000"
929932
expect(Money.new(89000, "BCH").format(drop_trailing_zeros: false, symbol: false)).to eq "0.00089000"
933+
expect(Money.new(890000000000000000, "ETH").format(drop_trailing_zeros: false, symbol: false)).to eq "0.890000000000000000"
930934
expect(Money.new(100089000, "BTC").format(drop_trailing_zeros: false, symbol: false)).to eq "1.00089000"
931935
expect(Money.new(100089000, "BCH").format(drop_trailing_zeros: false, symbol: false)).to eq "1.00089000"
936+
expect(Money.new(1000890000000000000, "ETH").format(drop_trailing_zeros: false, symbol: false)).to eq "1.000890000000000000"
932937
expect(Money.new(100000000, "BTC").format(drop_trailing_zeros: false, symbol: false)).to eq "1.00000000"
933938
expect(Money.new(100000000, "BCH").format(drop_trailing_zeros: false, symbol: false)).to eq "1.00000000"
939+
expect(Money.new(1000000000000000000, "ETH").format(drop_trailing_zeros: false, symbol: false)).to eq "1.000000000000000000"
934940
expect(Money.new(110, "AUD").format(drop_trailing_zeros: false, symbol: false)).to eq "1.10"
935941
end
936942
end

0 commit comments

Comments
 (0)