money 3.0.2 → 3.0.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.
- data/CHANGELOG.rdoc +4 -0
- data/README.rdoc +2 -20
- data/VERSION +1 -1
- data/lib/money/money.rb +10 -0
- data/money.gemspec +2 -2
- data/test/money_spec.rb +17 -0
- metadata +4 -4
data/CHANGELOG.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -185,26 +185,8 @@ field.
|
|
185
185
|
validates_uniqueness_of :sku
|
186
186
|
end
|
187
187
|
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
Extend/hack the <tt>Money</tt> class with two additional methods:
|
192
|
-
|
193
|
-
# You can put this file in the config/initializers/ folder
|
194
|
-
class Money
|
195
|
-
def currency_as_string
|
196
|
-
currency.to_s
|
197
|
-
end
|
198
|
-
|
199
|
-
def currency_as_string=(value)
|
200
|
-
# WARNING: this method might cause data inconsistency.
|
201
|
-
# See http://github.com/FooBarWidget/money/issues/4#issue/4/comment/224930
|
202
|
-
# currency = Currency.wrap(value)
|
203
|
-
end
|
204
|
-
end
|
205
|
-
|
206
|
-
The hack is not required for Money 2.2.x and previous versions.
|
207
|
-
In this case, simply use the following <tt>composed_of</tt> definition:
|
188
|
+
For Money 2.2.x and previous versions, simply use the following
|
189
|
+
<tt>composed_of</tt> definition:
|
208
190
|
|
209
191
|
composed_of :price, :class_name => "Money", :mapping => [%w(cents cents), %w(currency currency)]
|
210
192
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0.
|
1
|
+
3.0.3
|
data/lib/money/money.rb
CHANGED
@@ -90,6 +90,16 @@ class Money
|
|
90
90
|
@bank = bank
|
91
91
|
end
|
92
92
|
|
93
|
+
# Return string representation of currency object
|
94
|
+
def currency_as_string
|
95
|
+
self.currency.to_s
|
96
|
+
end
|
97
|
+
|
98
|
+
# Set currency object using a string
|
99
|
+
def currency_as_string=(val)
|
100
|
+
@currency = Currency.wrap(val)
|
101
|
+
end
|
102
|
+
|
93
103
|
# Checks whether two money objects have the same currency and the same amount.
|
94
104
|
# Checks against money objects with a different currency and checks against
|
95
105
|
# objects that do not respond to #to_money will always return false.
|
data/money.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{money}
|
8
|
-
s.version = "3.0.
|
8
|
+
s.version = "3.0.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Tobias Luetke", "Hongli Lai", "Jeremy McNevin", "Shane Emmons"]
|
12
|
-
s.date = %q{2010-06-
|
12
|
+
s.date = %q{2010-06-21}
|
13
13
|
s.description = %q{Money and currency exchange support library.}
|
14
14
|
s.email = %q{hongli@phusion.nl}
|
15
15
|
s.extra_rdoc_files = [
|
data/test/money_spec.rb
CHANGED
@@ -22,6 +22,23 @@ describe Money do
|
|
22
22
|
Money.new(200_00, "USD").currency.should == Money::Currency.new("USD")
|
23
23
|
end
|
24
24
|
|
25
|
+
specify "#currency_string returns the iso_code of the currency object" do
|
26
|
+
Money.new(200_00, "USD").currency_as_string.should == Money::Currency.new("USD").to_s
|
27
|
+
Money.new(200_00, "USD").currency_as_string.should == "USD"
|
28
|
+
Money.new(200_00, "EUR").currency_as_string.should == "EUR"
|
29
|
+
Money.new(200_00, "YEN").currency_as_string.should == "YEN"
|
30
|
+
end
|
31
|
+
|
32
|
+
specify "#currency_string= set the currency object using the provided string" do
|
33
|
+
obj = Money.new(200_00, "USD")
|
34
|
+
obj.currency_as_string = "EUR"
|
35
|
+
obj.currency.should == Money::Currency.new("EUR")
|
36
|
+
obj.currency_as_string = "YEN"
|
37
|
+
obj.currency.should == Money::Currency.new("YEN")
|
38
|
+
obj.currency_as_string = "USD"
|
39
|
+
obj.currency.should == Money::Currency.new("USD")
|
40
|
+
end
|
41
|
+
|
25
42
|
specify "#zero? returns whether the amount is 0" do
|
26
43
|
Money.new(0, "USD").should be_zero
|
27
44
|
Money.new(0, "EUR").should be_zero
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: money
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 3.0.
|
9
|
+
- 3
|
10
|
+
version: 3.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tobias Luetke
|
@@ -18,7 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date: 2010-06-
|
21
|
+
date: 2010-06-21 00:00:00 -04:00
|
22
22
|
default_executable:
|
23
23
|
dependencies:
|
24
24
|
- !ruby/object:Gem::Dependency
|