cashrb 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ cashrb v1.1.1
2
+ =============
3
+ - fix bug in #to_s/#to_f regarding negative amounts
4
+
1
5
  cashrb v1.1.0
2
6
  =============
3
7
  - use "include Comparable" instead of custom functions
data/cashrb.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cashrb"
3
- s.version = "1.1.0"
3
+ s.version = "1.1.1"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.authors = ["Shane Emmons"]
6
6
  s.email = ["semmons99@gmail.com"]
data/lib/cashrb/cash.rb CHANGED
@@ -78,7 +78,7 @@ class Cash
78
78
  return self.cents.to_s if @cents_in_whole == 1
79
79
 
80
80
  dollars, cents = dollars_and_cents
81
- "#{dollars}.#{formatted_cents(cents)}"
81
+ "#{"-" if @cents < 0}#{dollars}.#{formatted_cents(cents)}"
82
82
  end
83
83
 
84
84
  def to_f
@@ -103,7 +103,7 @@ class Cash
103
103
  end
104
104
 
105
105
  def dollars_and_cents
106
- @cents.divmod(@cents_in_whole).map(&:to_i)
106
+ @cents.abs.divmod(@cents_in_whole).map(&:to_i)
107
107
  end
108
108
 
109
109
  def formatted_cents(cents)
data/test/test_cash.rb CHANGED
@@ -275,6 +275,10 @@ class TestCash < MiniTest::Unit::TestCase
275
275
  assert_equal "1.000", Cash.new(1000, :cents_in_whole => 1000).to_s
276
276
  end
277
277
 
278
+ def test_to_s_with_negative_cents
279
+ assert_equal "-6338.33", Cash.new(-633833).to_s
280
+ end
281
+
278
282
  def test_to_f
279
283
  assert_equal 0.0, Cash.new(0 ).to_f
280
284
  assert_equal 0.01, Cash.new(1 ).to_f
@@ -297,4 +301,8 @@ class TestCash < MiniTest::Unit::TestCase
297
301
  assert_equal 1.0, Cash.new(1000, :cents_in_whole => 1000).to_f
298
302
  end
299
303
 
304
+ def test_to_f_with_negative_cents
305
+ assert_equal -6338.33, Cash.new(-633833).to_f
306
+ end
307
+
300
308
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cashrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-04-01 00:00:00.000000000 -04:00
13
- default_executable:
12
+ date: 2011-04-08 00:00:00.000000000Z
14
13
  dependencies: []
15
14
  description: Dead simple gem to work with Money/Currency without the hassle of Floats
16
15
  email:
@@ -28,7 +27,6 @@ files:
28
27
  - Rakefile
29
28
  - .gemtest
30
29
  - cashrb.gemspec
31
- has_rdoc: true
32
30
  homepage: http://github.com/semmons99/cashrb
33
31
  licenses: []
34
32
  post_install_message:
@@ -50,7 +48,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
50
48
  requirements:
51
49
  - minitest
52
50
  rubyforge_project:
53
- rubygems_version: 1.6.2
51
+ rubygems_version: 1.7.2
54
52
  signing_key:
55
53
  specification_version: 3
56
54
  summary: Dead simple gem to work with Money/Currency without the hassle of Floats