cash 0.0.2

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.
@@ -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