money 6.0.1.beta1 → 6.0.1.beta2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c0f9be74337dc06f899a38e9016dd937cdb404ad
4
- data.tar.gz: 2b2bdc6e10c1d900dace7dde6a6082bfffc546be
3
+ metadata.gz: 7dbef5f1733e04f6823d0e504dbbe73112545214
4
+ data.tar.gz: 62e28891ffa15550bf323af2671a20cfa663279f
5
5
  SHA512:
6
- metadata.gz: 92b2ceb3e06cac33d2720dceed0d333901c0323748210f98e78d3599a674f6320443d482174bbc440a8385d5c8249f90d6d0d14a91448d00c51626858880a45e
7
- data.tar.gz: 5b3675798dd15208d40cabf1c1e7f5454c64ae8f061113434b3a9a183d6d9fcf357f8ee0bf5e8b48f27d4da6cbbcb40ab21cdcdf20f3d6dd7a850630f671c688
6
+ metadata.gz: f1b30704d8098a4b7a5301775d4de24b9d8a2c0a02da1e175130319b7d177adca746203277ac7c7ee78e012ad6dd8df535333ae280fc7b235b469abe0330371f
7
+ data.tar.gz: 3de4d2fe5d9b244d7358f168b9f3fe6c5b6fb9f48b87a2be65436f95b7789bb12268dc83bb8dba0295656c28dd13cef522ef3f45c69f2f274e098f0afb1a41c4
@@ -0,0 +1 @@
1
+ repo_token: lUJ1iIe2hjtyIFZm413PZ38saqD5UOLXo
data/Gemfile CHANGED
@@ -1,5 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
+ gem "coveralls", :require => false
3
4
  gem "json", :platform => [:jruby, :mri_18]
4
5
 
5
6
  gemspec
data/README.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # RubyMoney - Money
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/money.png)](http://badge.fury.io/rb/money) [![Build Status](https://travis-ci.org/RubyMoney/money.png?branch=master)](https://travis-ci.org/RubyMoney/money) [![Code Climate](https://codeclimate.com/github/RubyMoney/money.png)](https://codeclimate.com/github/RubyMoney/money)
3
+ [![Gem Version](https://badge.fury.io/rb/money.png)](http://badge.fury.io/rb/money)
4
+ [![Build Status](https://travis-ci.org/RubyMoney/money.png?branch=master)](https://travis-ci.org/RubyMoney/money)
5
+ [![Code Climate](https://codeclimate.com/github/RubyMoney/money.png)](https://codeclimate.com/github/RubyMoney/money)
6
+ [![Coverage Status](https://coveralls.io/repos/RubyMoney/money/badge.png?branch=master)](https://coveralls.io/r/RubyMoney/money?branch=master)
7
+ [![Dependency Status](https://gemnasium.com/RubyMoney/money.png)](https://gemnasium.com/RubyMoney/money)
8
+ [![License](http://img.shields.io/license/MIT.png?color=green)](http://opensource.org/licenses/MIT)
4
9
 
5
10
  :warning: Please read the [migration notes](#migration-notes) before upgrading to a new major version.
6
11
 
@@ -12,7 +17,7 @@ See the [Contribution Guidelines](https://github.com/RubyMoney/money/blob/master
12
17
 
13
18
  ## Introduction
14
19
 
15
- This library aids one in handling money and different currencies.
20
+ A Ruby Library for dealing with money and currency conversion.
16
21
 
17
22
  ### Features
18
23
 
@@ -25,8 +30,6 @@ This library aids one in handling money and different currencies.
25
30
  - Represents currency as `Money::Currency` instances providing an high level of
26
31
  flexibility.
27
32
  - Provides APIs for exchanging money from one currency to another.
28
- - Has the ability to parse a money and currency strings
29
- into the corresponding Money/Currency object.
30
33
 
31
34
  ### Resources
32
35
 
@@ -75,12 +78,6 @@ Money.new(1000, "USD") - Money.new(200, "USD") == Money.new(800, "USD")
75
78
  Money.new(1000, "USD") / 5 == Money.new(200, "USD")
76
79
  Money.new(1000, "USD") * 5 == Money.new(5000, "USD")
77
80
 
78
- # Assumptive Currencies
79
- Money.assume_from_symbol = true
80
- Money.parse("$100") == Money.new(10000, "USD")
81
- Money.parse("€100") == Money.new(10000, "EUR")
82
- Money.parse("£100") == Money.new(10000, "GBP")
83
-
84
81
  # Currency conversions
85
82
  some_code_to_setup_exchange_rates
86
83
  Money.new(1000, "USD").exchange_to("EUR") == Money.new(some_value, "EUR")
@@ -427,7 +427,7 @@
427
427
  "subunit": "Fen",
428
428
  "subunit_to_unit": 100,
429
429
  "symbol_first": true,
430
- "html_entity": "圓",
430
+ "html_entity": "元",
431
431
  "decimal_mark": ".",
432
432
  "thousands_separator": ",",
433
433
  "iso_numeric": "156"
@@ -127,6 +127,20 @@ class Money
127
127
  #
128
128
  # @return [Integer]
129
129
  attr_accessor :conversion_precision
130
+
131
+ # Create a new money object with value 0.
132
+ #
133
+ # @param [Currency, String, Symbol] currency The currency to use.
134
+ #
135
+ # @return [Money]
136
+ #
137
+ # @example
138
+ # Money.empty #=> #<Money @fractional=0>
139
+ def empty(currency = default_currency)
140
+ @empty ||= {}
141
+ @empty[currency] ||= Money.new(0, currency)
142
+ end
143
+ alias_method :zero, :empty
130
144
  end
131
145
 
132
146
  def self.setup_defaults
@@ -179,18 +193,6 @@ class Money
179
193
  Thread.current[:money_rounding_mode] = nil
180
194
  end
181
195
 
182
- # Create a new money object with value 0.
183
- #
184
- # @param [Currency, String, Symbol] currency The currency to use.
185
- #
186
- # @return [Money]
187
- #
188
- # @example
189
- # Money.empty #=> #<Money @fractional=0>
190
- def self.empty(currency = default_currency)
191
- Money.new(0, currency)
192
- end
193
-
194
196
  # Creates a new Money object of the given value, using the Canadian
195
197
  # dollar currency.
196
198
  #
@@ -25,7 +25,7 @@ class Money
25
25
  def ==(other_money)
26
26
  if other_money.respond_to?(:to_money)
27
27
  unless other_money.is_a?(Money)
28
- Money.deprecate "as of Money 6.1.0 you must `require 'money/core_extensions'` to compare Money to core classes." unless Money.silence_core_extensions_deprecations
28
+ Money.deprecate "as of Money 6.1.0 you must `require 'monetize/core_extensions'` to compare Money to core classes." unless Money.silence_core_extensions_deprecations
29
29
  end
30
30
  other_money = other_money.to_money
31
31
  fractional == other_money.fractional && currency == other_money.currency
@@ -48,7 +48,7 @@ class Money
48
48
  def <=>(other_money)
49
49
  if other_money.respond_to?(:to_money)
50
50
  unless other_money.is_a?(Money)
51
- Money.deprecate "as of Money 6.1.0 you must `require 'money/core_extensions'` to compare Money to core classes." unless Money.silence_core_extensions_deprecations
51
+ Money.deprecate "as of Money 6.1.0 you must `require 'monetize/core_extensions'` to compare Money to core classes." unless Money.silence_core_extensions_deprecations
52
52
  end
53
53
  other_money = other_money.to_money
54
54
  if fractional == 0 || other_money.fractional == 0 || currency == other_money.currency
@@ -1,3 +1,3 @@
1
1
  class Money
2
- VERSION = "6.0.1.beta1"
2
+ VERSION = "6.0.1.beta2"
3
3
  end
@@ -9,9 +9,9 @@ Gem::Specification.new do |s|
9
9
  s.platform = Gem::Platform::RUBY
10
10
  s.authors = ["Shane Emmons"]
11
11
  s.email = ["shane@emmons.io"]
12
- s.homepage = "http://rubymoney.github.com/money"
13
- s.summary = "Money and currency exchange support library."
14
- s.description = "This library aids one in handling money and different currencies."
12
+ s.homepage = "http://rubymoney.github.io/money"
13
+ s.summary = "A Ruby Library for dealing with money and currency conversion."
14
+ s.description = "A Ruby Library for dealing with money and currency conversion."
15
15
  s.license = "MIT"
16
16
 
17
17
  s.post_install_message = <<MSG
@@ -123,6 +123,19 @@ describe Money do
123
123
  it "creates a new Money object of 0 cents" do
124
124
  Money.empty.should == Money.new(0)
125
125
  end
126
+
127
+ it "memoizes the result" do
128
+ Money.empty.object_id.should == Money.empty.object_id
129
+ end
130
+
131
+ it "memoizes a result for each currency" do
132
+ Money.empty(:cad).object_id.should == Money.empty(:cad).object_id
133
+ end
134
+ end
135
+
136
+ describe ".zero" do
137
+ subject { Money.zero }
138
+ it { should == Money.empty }
126
139
  end
127
140
 
128
141
  describe ".ca_dollar" do
@@ -375,11 +388,11 @@ YAML
375
388
  it "works as documented" do
376
389
  currency = Money::Currency.new("EUR")
377
390
  currency.should_receive(:symbol).and_return("€")
378
- Money.empty(currency).symbol.should == "€"
391
+ Money.new(0, currency).symbol.should == "€"
379
392
 
380
393
  currency = Money::Currency.new("EUR")
381
394
  currency.should_receive(:symbol).and_return(nil)
382
- Money.empty(currency).symbol.should == "¤"
395
+ Money.new(0, currency).symbol.should == "¤"
383
396
  end
384
397
  end
385
398
 
@@ -1,10 +1,13 @@
1
+ require "coveralls"
2
+ Coveralls.wear!
3
+
1
4
  $LOAD_PATH.unshift File.dirname(__FILE__)
2
- require 'rspec'
3
- require 'money'
4
- require 'support/default_currency_helper'
5
+ require "rspec"
6
+ require "money"
7
+ require "support/default_currency_helper"
5
8
 
6
9
  RSpec.configure do |c|
7
- c.order = "rand"
10
+ c.order = :random
8
11
  c.include DefaultCurrencyHelper
9
12
  end
10
13
 
metadata CHANGED
@@ -1,122 +1,123 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: money
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.1.beta1
4
+ version: 6.0.1.beta2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane Emmons
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-29 00:00:00.000000000 Z
11
+ date: 2014-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.6.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.6.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: monetize
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 0.1.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.1.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.3'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.3'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '2.14'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '2.14'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: yard
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0.8'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0.8'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: kramdown
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '1.1'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '1.1'
111
- description: This library aids one in handling money and different currencies.
111
+ description: A Ruby Library for dealing with money and currency conversion.
112
112
  email:
113
113
  - shane@emmons.io
114
114
  executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
- - .gitignore
119
- - .travis.yml
118
+ - ".coveralls.yml"
119
+ - ".gitignore"
120
+ - ".travis.yml"
120
121
  - AUTHORS
121
122
  - CHANGELOG.md
122
123
  - CONTRIBUTING.md
@@ -158,7 +159,7 @@ files:
158
159
  - spec/money_spec.rb
159
160
  - spec/spec_helper.rb
160
161
  - spec/support/default_currency_helper.rb
161
- homepage: http://rubymoney.github.com/money
162
+ homepage: http://rubymoney.github.io/money
162
163
  licenses:
163
164
  - MIT
164
165
  metadata: {}
@@ -176,20 +177,20 @@ require_paths:
176
177
  - lib
177
178
  required_ruby_version: !ruby/object:Gem::Requirement
178
179
  requirements:
179
- - - '>='
180
+ - - ">="
180
181
  - !ruby/object:Gem::Version
181
182
  version: '0'
182
183
  required_rubygems_version: !ruby/object:Gem::Requirement
183
184
  requirements:
184
- - - '>'
185
+ - - ">"
185
186
  - !ruby/object:Gem::Version
186
187
  version: 1.3.1
187
188
  requirements: []
188
189
  rubyforge_project:
189
- rubygems_version: 2.0.14
190
+ rubygems_version: 2.2.0
190
191
  signing_key:
191
192
  specification_version: 4
192
- summary: Money and currency exchange support library.
193
+ summary: A Ruby Library for dealing with money and currency conversion.
193
194
  test_files:
194
195
  - spec/bank/base_spec.rb
195
196
  - spec/bank/single_currency_spec.rb