cash 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,7 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development do
6
+ gem 'guard-rspec'
7
+ end
@@ -0,0 +1,5 @@
1
+ guard 'rspec', :version => 2, :cli => '--color' do
2
+ watch(%r{^spec/.+_spec\.rb$})
3
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
4
+ watch('spec/spec_helper.rb') { "spec" }
5
+ end
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Norbert Wojtowicz
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,19 @@
1
+ # Cash
2
+
3
+ Money object for your application. Based on BigDecimal and ISO-4217 currencies.
4
+
5
+ ## Features
6
+
7
+ Encapsulates an amount with its currency.
8
+
9
+ Backed by BigDecimal, so it can store arbitrary-precision values without rounding errors. Useful if you’re dealing with fractional cents.
10
+
11
+ Safe and strict. Fail fast approach let's you sleep like a baby.
12
+
13
+ ## Credits
14
+
15
+ Huge thanks go out to:
16
+
17
+ * The guys from money gem, helping rid the world of floating finances
18
+ * The guys from big_money gem, helping to spread the word that BigDecimal is bigger and better
19
+ * Luca Guidi for being awesome and giving up the cash gem name ;]
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new
5
+
6
+ task :default => 'spec'
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |gem|
6
+ gem.name = "cash"
7
+ gem.version = '0.0.2'
8
+ gem.authors = ["Norbert Wojtowicz"]
9
+ gem.email = ["wojtowicz.norbert@gmail.com"]
10
+ gem.description = "Money model backed by BigDecimal"
11
+ gem.summary = gem.description
12
+ gem.homepage = "https://github.com/pithyless/cash"
13
+
14
+ gem.files = `git ls-files`.split($/)
15
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
16
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
17
+ gem.require_paths = ["lib"]
18
+
19
+ gem.add_development_dependency 'rake'
20
+ gem.add_development_dependency 'rspec'
21
+ end
@@ -0,0 +1,5 @@
1
+ require "cash/currency"
2
+ require "cash/currency/iso4217"
3
+
4
+ class Cash
5
+ end
@@ -0,0 +1,38 @@
1
+ require 'set'
2
+ require 'cash/equalable'
3
+
4
+ class Cash
5
+ class Currency
6
+ include Equalable
7
+
8
+ attr_reader :code, :offset, :name
9
+
10
+ def equality_state
11
+ [code, offset, name]
12
+ end
13
+ protected :equality_state
14
+
15
+ def initialize(code, offset, name)
16
+ @code, @offset, @name = code.to_s.upcase, Integer(offset), name
17
+ end
18
+
19
+ class << self
20
+
21
+ def find(currency)
22
+ currency = currency.to_s.upcase
23
+ all.find{ |c| c.code == currency }
24
+ end
25
+
26
+ def all
27
+ @all ||= Set.new
28
+ end
29
+
30
+ def register(*args)
31
+ self.all << currency = new(*args).freeze
32
+ currency
33
+ end
34
+
35
+ end
36
+
37
+ end
38
+ end
@@ -0,0 +1,184 @@
1
+ # encoding: utf-8
2
+
3
+ class Cash
4
+ class Currency
5
+ AED = self.register(%q{AED}, 2, %q{United Arab Emirates dirham})
6
+ AFN = self.register(%q{AFN}, 2, %q{Afghani})
7
+ ALL = self.register(%q{ALL}, 2, %q{Lek})
8
+ AMD = self.register(%q{AMD}, 0, %q{Armenian dram})
9
+ ANG = self.register(%q{ANG}, 2, %q{Netherlands Antillean guilder})
10
+ AOA = self.register(%q{AOA}, 1, %q{Kwanza})
11
+ ARS = self.register(%q{ARS}, 2, %q{Argentine peso})
12
+ AUD = self.register(%q{AUD}, 2, %q{Australian dollar})
13
+ AWG = self.register(%q{AWG}, 2, %q{Aruban guilder})
14
+ AZN = self.register(%q{AZN}, 2, %q{Azerbaijanian manat})
15
+ BAM = self.register(%q{BAM}, 2, %q{Convertible marks})
16
+ BBD = self.register(%q{BBD}, 2, %q{Barbados dollar})
17
+ BDT = self.register(%q{BDT}, 2, %q{Bangladeshi taka})
18
+ BGN = self.register(%q{BGN}, 2, %q{Bulgarian lev})
19
+ BHD = self.register(%q{BHD}, 3, %q{Bahraini dinar})
20
+ BIF = self.register(%q{BIF}, 0, %q{Burundian franc})
21
+ BMD = self.register(%q{BMD}, 2, %q{Bermudian dollar})
22
+ BND = self.register(%q{BND}, 2, %q{Brunei dollar})
23
+ BOB = self.register(%q{BOB}, 2, %q{Boliviano})
24
+ BOV = self.register(%q{BOV}, 2, %q{Bolivian Mvdol (funds code)})
25
+ BRL = self.register(%q{BRL}, 2, %q{Brazilian real})
26
+ BSD = self.register(%q{BSD}, 2, %q{Bahamian dollar})
27
+ BTN = self.register(%q{BTN}, 2, %q{Ngultrum})
28
+ BWP = self.register(%q{BWP}, 2, %q{Pula})
29
+ BYR = self.register(%q{BYR}, 0, %q{Belarusian ruble})
30
+ BZD = self.register(%q{BZD}, 2, %q{Belize dollar})
31
+ CAD = self.register(%q{CAD}, 2, %q{Canadian dollar})
32
+ CDF = self.register(%q{CDF}, 2, %q{Franc Congolais})
33
+ CHE = self.register(%q{CHE}, 2, %q{WIR eurocomplementary currency})
34
+ CHF = self.register(%q{CHF}, 2, %q{Swiss franc})
35
+ CHW = self.register(%q{CHW}, 2, %q{WIR franccomplementary currency})
36
+ CLF = self.register(%q{CLF}, 0, %q{Unidad de Fomento})
37
+ CLP = self.register(%q{CLP}, 0, %q{Chilean peso})
38
+ CNY = self.register(%q{CNY}, 1, %q{Chinese Yuan})
39
+ COP = self.register(%q{COP}, 0, %q{Colombian peso})
40
+ COU = self.register(%q{COU}, 2, %q{Unidad de Valor Real})
41
+ CRC = self.register(%q{CRC}, 2, %q{Costa Rican colon})
42
+ CUC = self.register(%q{CUC}, 2, %q{Cuban convertible peso})
43
+ CUP = self.register(%q{CUP}, 2, %q{Cuban peso})
44
+ CVE = self.register(%q{CVE}, 2, %q{Cape Verde escudo})
45
+ CZK = self.register(%q{CZK}, 2, %q{Czech Koruna})
46
+ DJF = self.register(%q{DJF}, 0, %q{Djibouti franc})
47
+ DKK = self.register(%q{DKK}, 2, %q{Danish krone})
48
+ DOP = self.register(%q{DOP}, 2, %q{Dominican peso})
49
+ DZD = self.register(%q{DZD}, 2, %q{Algerian dinar})
50
+ EEK = self.register(%q{EEK}, 2, %q{Kroon})
51
+ EGP = self.register(%q{EGP}, 2, %q{Egyptian pound})
52
+ ERN = self.register(%q{ERN}, 2, %q{Nakfa})
53
+ ETB = self.register(%q{ETB}, 2, %q{Ethiopian birr})
54
+ EUR = self.register(%q{EUR}, 2, %q{euro})
55
+ FJD = self.register(%q{FJD}, 2, %q{Fiji dollar})
56
+ FKP = self.register(%q{FKP}, 2, %q{Falkland Islands pound})
57
+ GBP = self.register(%q{GBP}, 2, %q{Pound sterling})
58
+ GEL = self.register(%q{GEL}, 2, %q{Lari})
59
+ GHS = self.register(%q{GHS}, 2, %q{Cedi})
60
+ GIP = self.register(%q{GIP}, 2, %q{Gibraltar pound})
61
+ GMD = self.register(%q{GMD}, 2, %q{Dalasi})
62
+ GNF = self.register(%q{GNF}, 0, %q{Guinea franc})
63
+ GTQ = self.register(%q{GTQ}, 2, %q{Quetzal})
64
+ GYD = self.register(%q{GYD}, 2, %q{Guyana dollar})
65
+ HKD = self.register(%q{HKD}, 2, %q{Hong Kong dollar})
66
+ HNL = self.register(%q{HNL}, 2, %q{Lempira})
67
+ HRK = self.register(%q{HRK}, 2, %q{Croatian kuna})
68
+ HTG = self.register(%q{HTG}, 2, %q{Haiti gourde})
69
+ HUF = self.register(%q{HUF}, 2, %q{Forint})
70
+ IDR = self.register(%q{IDR}, 0, %q{Rupiah})
71
+ ILS = self.register(%q{ILS}, 2, %q{Israeli new sheqel})
72
+ INR = self.register(%q{INR}, 2, %q{Indian rupee})
73
+ IQD = self.register(%q{IQD}, 0, %q{Iraqi dinar})
74
+ IRR = self.register(%q{IRR}, 0, %q{Iranian rial})
75
+ ISK = self.register(%q{ISK}, 0, %q{Iceland krona})
76
+ JMD = self.register(%q{JMD}, 2, %q{Jamaican dollar})
77
+ JOD = self.register(%q{JOD}, 3, %q{Jordanian dinar})
78
+ JPY = self.register(%q{JPY}, 0, %q{Japanese yen})
79
+ KES = self.register(%q{KES}, 2, %q{Kenyan shilling})
80
+ KGS = self.register(%q{KGS}, 2, %q{Som})
81
+ KHR = self.register(%q{KHR}, 0, %q{Riel})
82
+ KMF = self.register(%q{KMF}, 0, %q{Comoro franc})
83
+ KPW = self.register(%q{KPW}, 0, %q{North Korean won})
84
+ KRW = self.register(%q{KRW}, 0, %q{South Korean won})
85
+ KWD = self.register(%q{KWD}, 3, %q{Kuwaiti dinar})
86
+ KYD = self.register(%q{KYD}, 2, %q{Cayman Islands dollar})
87
+ KZT = self.register(%q{KZT}, 2, %q{Tenge})
88
+ LAK = self.register(%q{LAK}, 0, %q{Kip})
89
+ LBP = self.register(%q{LBP}, 0, %q{Lebanese pound})
90
+ LKR = self.register(%q{LKR}, 2, %q{Sri Lanka rupee})
91
+ LRD = self.register(%q{LRD}, 2, %q{Liberian dollar})
92
+ LSL = self.register(%q{LSL}, 2, %q{Lesotho loti})
93
+ LTL = self.register(%q{LTL}, 2, %q{Lithuanian litas})
94
+ LVL = self.register(%q{LVL}, 2, %q{Latvian lats})
95
+ LYD = self.register(%q{LYD}, 3, %q{Libyan dinar})
96
+ MAD = self.register(%q{MAD}, 2, %q{Moroccan dirham})
97
+ MDL = self.register(%q{MDL}, 2, %q{Moldovan leu})
98
+ MGA = self.register(%q{MGA}, 0, %q{Malagasy ariary})
99
+ MKD = self.register(%q{MKD}, 2, %q{Denar})
100
+ MMK = self.register(%q{MMK}, 0, %q{Kyat})
101
+ MNT = self.register(%q{MNT}, 2, %q{Tugrik})
102
+ MOP = self.register(%q{MOP}, 1, %q{Pataca})
103
+ MRO = self.register(%q{MRO}, 0, %q{Ouguiya})
104
+ MUR = self.register(%q{MUR}, 2, %q{Mauritius rupee})
105
+ MVR = self.register(%q{MVR}, 2, %q{Rufiyaa})
106
+ MWK = self.register(%q{MWK}, 2, %q{Kwacha})
107
+ MXN = self.register(%q{MXN}, 2, %q{Mexican peso})
108
+ MXV = self.register(%q{MXV}, 2, %q{Mexican Unidad de Inversion})
109
+ MYR = self.register(%q{MYR}, 2, %q{Malaysian ringgit})
110
+ MZN = self.register(%q{MZN}, 2, %q{Metical})
111
+ NAD = self.register(%q{NAD}, 2, %q{Namibian dollar})
112
+ NGN = self.register(%q{NGN}, 2, %q{Naira})
113
+ NIO = self.register(%q{NIO}, 2, %q{Cordoba oro})
114
+ NOK = self.register(%q{NOK}, 2, %q{Norwegian krone})
115
+ NPR = self.register(%q{NPR}, 2, %q{Nepalese rupee})
116
+ NZD = self.register(%q{NZD}, 2, %q{New Zealand dollar})
117
+ OMR = self.register(%q{OMR}, 3, %q{Rial Omani})
118
+ PAB = self.register(%q{PAB}, 2, %q{Balboa})
119
+ PEN = self.register(%q{PEN}, 2, %q{Nuevo sol})
120
+ PGK = self.register(%q{PGK}, 2, %q{Kina})
121
+ PHP = self.register(%q{PHP}, 2, %q{Philippine peso})
122
+ PKR = self.register(%q{PKR}, 2, %q{Pakistan rupee})
123
+ PLN = self.register(%q{PLN}, 2, %q{Złoty})
124
+ PYG = self.register(%q{PYG}, 0, %q{Guarani})
125
+ QAR = self.register(%q{QAR}, 2, %q{Qatari rial})
126
+ RON = self.register(%q{RON}, 2, %q{Romanian new leu})
127
+ RSD = self.register(%q{RSD}, 2, %q{Serbian dinar})
128
+ RUB = self.register(%q{RUB}, 2, %q{Russian rouble})
129
+ RWF = self.register(%q{RWF}, 0, %q{Rwanda franc})
130
+ SAR = self.register(%q{SAR}, 2, %q{Saudi riyal})
131
+ SBD = self.register(%q{SBD}, 2, %q{Solomon Islands dollar})
132
+ SCR = self.register(%q{SCR}, 2, %q{Seychelles rupee})
133
+ SDG = self.register(%q{SDG}, 2, %q{Sudanese pound})
134
+ SEK = self.register(%q{SEK}, 2, %q{Swedish krona})
135
+ SGD = self.register(%q{SGD}, 2, %q{Singapore dollar})
136
+ SHP = self.register(%q{SHP}, 2, %q{Saint Helena pound})
137
+ SLL = self.register(%q{SLL}, 0, %q{Leone})
138
+ SOS = self.register(%q{SOS}, 2, %q{Somali shilling})
139
+ SRD = self.register(%q{SRD}, 2, %q{Surinam dollar})
140
+ STD = self.register(%q{STD}, 0, %q{Dobra})
141
+ SYP = self.register(%q{SYP}, 2, %q{Syrian pound})
142
+ SZL = self.register(%q{SZL}, 2, %q{Lilangeni})
143
+ THB = self.register(%q{THB}, 2, %q{Baht})
144
+ TJS = self.register(%q{TJS}, 2, %q{Somoni})
145
+ TMT = self.register(%q{TMT}, 2, %q{Manat})
146
+ TND = self.register(%q{TND}, 3, %q{Tunisian dinar})
147
+ TOP = self.register(%q{TOP}, 2, %q{Pa'anga})
148
+ TRY = self.register(%q{TRY}, 2, %q{Turkish lira})
149
+ TTD = self.register(%q{TTD}, 2, %q{Trinidad and Tobago dollar})
150
+ TWD = self.register(%q{TWD}, 1, %q{New Taiwan dollar})
151
+ TZS = self.register(%q{TZS}, 2, %q{Tanzanian shilling})
152
+ UAH = self.register(%q{UAH}, 2, %q{Hryvnia})
153
+ UGX = self.register(%q{UGX}, 0, %q{Uganda shilling})
154
+ USD = self.register(%q{USD}, 2, %q{US dollar})
155
+ USN = self.register(%q{USN}, 2, %q{United States dollar (next day) (funds code)})
156
+ USS = self.register(%q{USS}, 2, %q{who?})
157
+ UYU = self.register(%q{UYU}, 2, %q{Peso Uruguayo})
158
+ UZS = self.register(%q{UZS}, 2, %q{Uzbekistan som})
159
+ VEF = self.register(%q{VEF}, 2, %q{Venezuelan bolívar fuerte})
160
+ VND = self.register(%q{VND}, 0, %q{Vietnamese đồng})
161
+ VUV = self.register(%q{VUV}, 0, %q{Vatu})
162
+ WST = self.register(%q{WST}, 2, %q{Samoan tala})
163
+ XAF = self.register(%q{XAF}, 0, %q{CFA franc BEAC})
164
+ XAG = self.register(%q{XAG}, 0, %q{Silvertroy ounce})
165
+ XAU = self.register(%q{XAU}, 0, %q{Goldtroy ounce})
166
+ XBA = self.register(%q{XBA}, 0, %q{European Composite Unit})
167
+ XBB = self.register(%q{XBB}, 0, %q{European Monetary Unit})
168
+ XBC = self.register(%q{XBC}, 0, %q{European Unit of Account 9})
169
+ XBD = self.register(%q{XBD}, 0, %q{European Unit of Account 17})
170
+ XCD = self.register(%q{XCD}, 2, %q{East Caribbean dollar})
171
+ XDR = self.register(%q{XDR}, 0, %q{Special Drawing Rights})
172
+ XFU = self.register(%q{XFU}, 0, %q{UIC franc})
173
+ XOF = self.register(%q{XOF}, 0, %q{CFA Franc BCEAO})
174
+ XPD = self.register(%q{XPD}, 0, %q{Palladiumtroy ounce})
175
+ XPF = self.register(%q{XPF}, 0, %q{CFP franc})
176
+ XPT = self.register(%q{XPT}, 0, %q{Platinumtroy ounce})
177
+ XTS = self.register(%q{XTS}, 0, %q{Code reserved for testing purposes})
178
+ XXX = self.register(%q{XXX}, 0, %q{No currency})
179
+ YER = self.register(%q{YER}, 0, %q{Yemeni rial})
180
+ ZAR = self.register(%q{ZAR}, 2, %q{South African rand})
181
+ ZMK = self.register(%q{ZMK}, 0, %q{Kwacha})
182
+ ZWL = self.register(%q{ZWL}, 2, %q{Zimbabwe dollar})
183
+ end
184
+ end
@@ -0,0 +1,10 @@
1
+ module Equalable
2
+ def ==(o)
3
+ o.class == self.class && o.equality_state == equality_state
4
+ end
5
+ alias_method :eql?, :==
6
+
7
+ def hash
8
+ equality_state.hash
9
+ end
10
+ end
@@ -0,0 +1,53 @@
1
+ #encoding: UTF-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Cash::Currency do
6
+
7
+ describe '#initialize' do
8
+ it 'accepts code' do
9
+ ['USD', 'usd', :USD, :usd].each do |code|
10
+ Cash::Currency.new(code, 2, 'US dollar').code.should == 'USD'
11
+ end
12
+ end
13
+
14
+ it 'accepts offset' do
15
+ [2, '2'].each do |offset|
16
+ Cash::Currency.new(:usd, offset, 'US dollar').offset.should == 2
17
+ end
18
+ end
19
+
20
+ it 'accepts name' do
21
+ Cash::Currency.new(:usd, 2, 'US dollar').name.should == 'US dollar'
22
+ end
23
+ end
24
+
25
+ describe '::find' do
26
+ it 'returns registered currency' do
27
+ [:usd, :USD, 'usd', 'USD'].each do |currency|
28
+ Cash::Currency.find(currency).should == Cash::Currency::USD
29
+ end
30
+ end
31
+
32
+ it 'returns nil for missing currency' do
33
+ Cash::Currency.find('zzz').should be_nil
34
+ end
35
+ end
36
+
37
+
38
+ context 'equality' do
39
+ let(:usd) { Cash::Currency::USD }
40
+ let(:usd2) { Cash::Currency.new('usd', 2, 'US dollar') }
41
+
42
+ it { (usd == usd2).should be_true }
43
+ it { (usd.eql?(usd2)).should be_true }
44
+
45
+ it { (usd.equal?(usd2)).should be_false }
46
+
47
+ it { usd.hash.should == usd2.hash }
48
+
49
+ it { usd.should == Cash::Currency.find('usd') }
50
+ it { usd.should_not == Cash::Currency.find('pln') }
51
+ end
52
+
53
+ end
@@ -0,0 +1,9 @@
1
+ require 'cash'
2
+
3
+ RSpec.configure do |config|
4
+ config.treat_symbols_as_metadata_keys_with_true_values = true
5
+ config.run_all_when_everything_filtered = true
6
+ config.filter_run :focus
7
+
8
+ config.order = 'random'
9
+ end
metadata ADDED
@@ -0,0 +1,98 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cash
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Norbert Wojtowicz
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-10-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ description: Money model backed by BigDecimal
47
+ email:
48
+ - wojtowicz.norbert@gmail.com
49
+ executables: []
50
+ extensions: []
51
+ extra_rdoc_files: []
52
+ files:
53
+ - .gitignore
54
+ - Gemfile
55
+ - Guardfile
56
+ - LICENSE.txt
57
+ - README.md
58
+ - Rakefile
59
+ - cash.gemspec
60
+ - lib/cash.rb
61
+ - lib/cash/currency.rb
62
+ - lib/cash/currency/iso4217.rb
63
+ - lib/cash/equalable.rb
64
+ - spec/lib/cash/currency_spec.rb
65
+ - spec/spec_helper.rb
66
+ homepage: https://github.com/pithyless/cash
67
+ licenses: []
68
+ post_install_message:
69
+ rdoc_options: []
70
+ require_paths:
71
+ - lib
72
+ required_ruby_version: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ segments:
79
+ - 0
80
+ hash: 2019834350230060789
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ segments:
88
+ - 0
89
+ hash: 2019834350230060789
90
+ requirements: []
91
+ rubyforge_project:
92
+ rubygems_version: 1.8.23
93
+ signing_key:
94
+ specification_version: 3
95
+ summary: Money model backed by BigDecimal
96
+ test_files:
97
+ - spec/lib/cash/currency_spec.rb
98
+ - spec/spec_helper.rb