money-rails 0.6.0 → 0.7.0.pre1

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,19 @@
1
+ require 'spec_helper'
2
+
3
+ if defined? ActiveRecord
4
+ describe "Test helper in form blocks" do
5
+
6
+ let :product do
7
+ Product.create(:price_cents => 3000, :discount => 150,
8
+ :bonus_cents => 200, :optional_price => 100,
9
+ :sale_price_amount => 1200)
10
+ end
11
+
12
+ context "textfield" do
13
+ it "uses the current value of money field in textfield" do
14
+ helper.instance_variable_set :@product, product
15
+ helper.text_field(:product, :price).should =~ /value=\"#{product.price.to_s}\"/
16
+ end
17
+ end
18
+ end
19
+ end
@@ -4,22 +4,38 @@ if defined?(Mongoid) && ::Mongoid::VERSION =~ /^3(.*)/
4
4
 
5
5
  describe Money do
6
6
  let!(:priceable) { Priceable.create(:price => Money.new(100, 'EUR')) }
7
+ let!(:priceable_from_num) { Priceable.create(:price => 1) }
8
+ let!(:priceable_from_string) { Priceable.create(:price => '1 EUR' )}
7
9
 
8
10
  context "mongoize" do
9
11
  it "mongoizes correctly a Money object to a hash of cents and currency" do
10
12
  priceable.price.cents.should == 100
11
13
  priceable.price.currency.should == Money::Currency.find('EUR')
12
14
  end
15
+
16
+ it "mongoizes correctly a Numeric object to a hash of cents and currency" do
17
+ priceable_from_num.price.cents.should == 100
18
+ priceable_from_num.price.currency.should == Money.default_currency
19
+ end
20
+
21
+ it "mongoizes correctly a String object to a hash of cents and currency" do
22
+ priceable_from_string.price.cents.should == 100
23
+ priceable_from_string.price.currency.should == Money::Currency.find('EUR')
24
+ end
13
25
  end
14
26
 
15
27
  context "demongoize" do
16
- subject { priceable.price }
28
+ subject { Priceable.first.price }
17
29
  it { should be_an_instance_of(Money) }
18
30
  it { should == Money.new(100, 'EUR') }
19
31
  it "returns nil if a nil value was stored" do
20
32
  nil_priceable = Priceable.create(:price => nil)
21
33
  nil_priceable.price.should be_nil
22
34
  end
35
+ it 'returns nil if an unknown value was stored' do
36
+ zero_priceable = Priceable.create(:price => [])
37
+ zero_priceable.price.should be_nil
38
+ end
23
39
  end
24
40
 
25
41
  context "evolve" do
@@ -4,12 +4,24 @@ if defined?(Mongoid) && ::Mongoid::VERSION =~ /^2(.*)/
4
4
 
5
5
  describe Money do
6
6
  let(:priceable) { Priceable.create(:price => Money.new(100, 'EUR')) }
7
+ let(:priceable_from_num) { Priceable.create(:price => 1) }
8
+ let(:priceable_from_string) { Priceable.create(:price => '1 EUR' )}
7
9
 
8
10
  context "serialize" do
9
11
  it "serializes correctly a Money object to a hash of cents and currency" do
10
12
  priceable.price.cents.should == 100
11
13
  priceable.price.currency.should == Money::Currency.find('EUR')
12
14
  end
15
+
16
+ it "mongoizes correctly a Numeric object to a hash of cents and currency" do
17
+ priceable_from_num.price.cents.should == 100
18
+ priceable_from_num.price.currency.should == Money.default_currency
19
+ end
20
+
21
+ it "mongoizes correctly a String object to a hash of cents and currency" do
22
+ priceable_from_string.price.cents.should == 100
23
+ priceable_from_string.price.currency.should == Money::Currency.find('EUR')
24
+ end
13
25
  end
14
26
 
15
27
  context "deserialize" do
@@ -20,6 +32,10 @@ if defined?(Mongoid) && ::Mongoid::VERSION =~ /^2(.*)/
20
32
  nil_priceable = Priceable.create(:price => nil)
21
33
  nil_priceable.price.should be_nil
22
34
  end
35
+ it 'returns nil if an unknown value was stored' do
36
+ zero_priceable = Priceable.create(:price => [])
37
+ zero_priceable.price.should be_nil
38
+ end
23
39
  end
24
40
  end
25
41
  end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: money-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
5
- prerelease:
4
+ version: 0.7.0.pre1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Andreas Loupasakis
@@ -11,27 +11,22 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-09-04 00:00:00.000000000 Z
14
+ date: 2012-11-20 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: money
18
- requirement: !ruby/object:Gem::Requirement
18
+ requirement: &18424860 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: 5.0.0
23
+ version: 5.1.0
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
29
- - - ~>
30
- - !ruby/object:Gem::Version
31
- version: 5.0.0
26
+ version_requirements: *18424860
32
27
  - !ruby/object:Gem::Dependency
33
28
  name: activesupport
34
- requirement: !ruby/object:Gem::Requirement
29
+ requirement: &18423520 !ruby/object:Gem::Requirement
35
30
  none: false
36
31
  requirements:
37
32
  - - ~>
@@ -39,15 +34,10 @@ dependencies:
39
34
  version: '3.0'
40
35
  type: :runtime
41
36
  prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: '3.0'
37
+ version_requirements: *18423520
48
38
  - !ruby/object:Gem::Dependency
49
39
  name: railties
50
- requirement: !ruby/object:Gem::Requirement
40
+ requirement: &18432320 !ruby/object:Gem::Requirement
51
41
  none: false
52
42
  requirements:
53
43
  - - ~>
@@ -55,15 +45,10 @@ dependencies:
55
45
  version: '3.0'
56
46
  type: :runtime
57
47
  prerelease: false
58
- version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
- requirements:
61
- - - ~>
62
- - !ruby/object:Gem::Version
63
- version: '3.0'
48
+ version_requirements: *18432320
64
49
  - !ruby/object:Gem::Dependency
65
50
  name: rails
66
- requirement: !ruby/object:Gem::Requirement
51
+ requirement: &18498200 !ruby/object:Gem::Requirement
67
52
  none: false
68
53
  requirements:
69
54
  - - ~>
@@ -71,31 +56,10 @@ dependencies:
71
56
  version: '3.0'
72
57
  type: :development
73
58
  prerelease: false
74
- version_requirements: !ruby/object:Gem::Requirement
75
- none: false
76
- requirements:
77
- - - ~>
78
- - !ruby/object:Gem::Version
79
- version: '3.0'
80
- - !ruby/object:Gem::Dependency
81
- name: rspec
82
- requirement: !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ~>
86
- - !ruby/object:Gem::Version
87
- version: '2.10'
88
- type: :development
89
- prerelease: false
90
- version_requirements: !ruby/object:Gem::Requirement
91
- none: false
92
- requirements:
93
- - - ~>
94
- - !ruby/object:Gem::Version
95
- version: '2.10'
59
+ version_requirements: *18498200
96
60
  - !ruby/object:Gem::Dependency
97
61
  name: rspec-rails
98
- requirement: !ruby/object:Gem::Requirement
62
+ requirement: &18512900 !ruby/object:Gem::Requirement
99
63
  none: false
100
64
  requirements:
101
65
  - - ~>
@@ -103,31 +67,10 @@ dependencies:
103
67
  version: '2.10'
104
68
  type: :development
105
69
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- none: false
108
- requirements:
109
- - - ~>
110
- - !ruby/object:Gem::Version
111
- version: '2.10'
112
- - !ruby/object:Gem::Dependency
113
- name: guard-rspec
114
- requirement: !ruby/object:Gem::Requirement
115
- none: false
116
- requirements:
117
- - - ~>
118
- - !ruby/object:Gem::Version
119
- version: '1.1'
120
- type: :development
121
- prerelease: false
122
- version_requirements: !ruby/object:Gem::Requirement
123
- none: false
124
- requirements:
125
- - - ~>
126
- - !ruby/object:Gem::Version
127
- version: '1.1'
70
+ version_requirements: *18512900
128
71
  - !ruby/object:Gem::Dependency
129
72
  name: database_cleaner
130
- requirement: !ruby/object:Gem::Requirement
73
+ requirement: &18524280 !ruby/object:Gem::Requirement
131
74
  none: false
132
75
  requirements:
133
76
  - - ! '>='
@@ -135,12 +78,7 @@ dependencies:
135
78
  version: 0.8.0
136
79
  type: :development
137
80
  prerelease: false
138
- version_requirements: !ruby/object:Gem::Requirement
139
- none: false
140
- requirements:
141
- - - ! '>='
142
- - !ruby/object:Gem::Version
143
- version: 0.8.0
81
+ version_requirements: *18524280
144
82
  description: This library provides integration of RubyMoney - Money gem with Rails
145
83
  email:
146
84
  - alup.rubymoney@gmail.com
@@ -148,72 +86,77 @@ executables: []
148
86
  extensions: []
149
87
  extra_rdoc_files: []
150
88
  files:
151
- - lib/money-rails.rb
152
- - lib/money-rails/railtie.rb
153
- - lib/money-rails/mongoid/three.rb
154
- - lib/money-rails/mongoid/two.rb
155
89
  - lib/money-rails/hooks.rb
156
90
  - lib/money-rails/active_record/monetizable.rb
157
- - lib/money-rails/helpers/action_view_extension.rb
158
- - lib/money-rails/version.rb
159
91
  - lib/money-rails/configuration.rb
92
+ - lib/money-rails/active_model/validator.rb
93
+ - lib/money-rails/version.rb
94
+ - lib/money-rails/helpers/action_view_extension.rb
95
+ - lib/money-rails/engine.rb
96
+ - lib/money-rails/railtie.rb
97
+ - lib/money-rails/mongoid/three.rb
98
+ - lib/money-rails/mongoid/two.rb
99
+ - lib/money-rails.rb
160
100
  - lib/generators/money_rails/initializer_generator.rb
161
101
  - lib/generators/templates/money.rb
162
102
  - spec/spec_helper.rb
163
- - spec/mongoid/two_spec.rb
164
- - spec/mongoid/three_spec.rb
165
103
  - spec/active_record/monetizable_spec.rb
166
- - spec/support/database_cleaner.rb
167
- - spec/helpers/action_view_extension_spec.rb
168
104
  - spec/dummy/script/rails
169
- - spec/dummy/Rakefile
170
- - spec/dummy/db/structure.sql
171
- - spec/dummy/db/schema.rb
172
- - spec/dummy/db/migrate/20120524052716_create_services.rb
105
+ - spec/dummy/db/migrate/20120528181002_create_transactions.rb
173
106
  - spec/dummy/db/migrate/20120402080348_add_bonus_cents_to_product.rb
174
- - spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb
175
- - spec/dummy/db/migrate/20120528210103_create_dummy_products.rb
176
107
  - spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb
177
- - spec/dummy/db/migrate/20120528181002_create_transactions.rb
108
+ - spec/dummy/db/migrate/20120528210103_create_dummy_products.rb
178
109
  - spec/dummy/db/migrate/20120331190108_create_products.rb
110
+ - spec/dummy/db/migrate/20120524052716_create_services.rb
111
+ - spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb
112
+ - spec/dummy/db/structure.sql
113
+ - spec/dummy/db/schema.rb
179
114
  - spec/dummy/db/test.sqlite3
180
115
  - spec/dummy/db/development.sqlite3
181
116
  - spec/dummy/README.rdoc
182
- - spec/dummy/config.ru
183
- - spec/dummy/log/development.log
184
- - spec/dummy/log/test.log
185
- - spec/dummy/app/controllers/application_controller.rb
186
- - spec/dummy/app/views/layouts/application.html.erb
187
- - spec/dummy/app/helpers/application_helper.rb
188
- - spec/dummy/app/models/transaction.rb
189
- - spec/dummy/app/models/priceable.rb
190
- - spec/dummy/app/models/service.rb
191
- - spec/dummy/app/models/product.rb
192
- - spec/dummy/app/models/dummy_product.rb
193
- - spec/dummy/app/assets/javascripts/application.js
194
- - spec/dummy/app/assets/stylesheets/application.css
195
- - spec/dummy/config/boot.rb
196
- - spec/dummy/config/routes.rb
117
+ - spec/dummy/Rakefile
118
+ - spec/dummy/config/environment.rb
197
119
  - spec/dummy/config/locales/en.yml
198
- - spec/dummy/config/database.yml
199
- - spec/dummy/config/application.rb
120
+ - spec/dummy/config/initializers/money.rb
200
121
  - spec/dummy/config/initializers/mime_types.rb
122
+ - spec/dummy/config/initializers/wrap_parameters.rb
201
123
  - spec/dummy/config/initializers/backtrace_silencers.rb
202
- - spec/dummy/config/initializers/money.rb
203
124
  - spec/dummy/config/initializers/session_store.rb
204
- - spec/dummy/config/initializers/inflections.rb
205
125
  - spec/dummy/config/initializers/secret_token.rb
206
- - spec/dummy/config/initializers/wrap_parameters.rb
207
- - spec/dummy/config/environment.rb
208
- - spec/dummy/config/mongoid.yml
209
- - spec/dummy/config/environments/production.rb
126
+ - spec/dummy/config/initializers/inflections.rb
127
+ - spec/dummy/config/boot.rb
128
+ - spec/dummy/config/database.yml
129
+ - spec/dummy/config/routes.rb
210
130
  - spec/dummy/config/environments/test.rb
131
+ - spec/dummy/config/environments/production.rb
211
132
  - spec/dummy/config/environments/development.rb
212
- - spec/dummy/public/422.html
133
+ - spec/dummy/config/mongoid.yml
134
+ - spec/dummy/config/application.rb
135
+ - spec/dummy/app/assets/stylesheets/application.css
136
+ - spec/dummy/app/assets/javascripts/application.js
137
+ - spec/dummy/app/models/service.rb
138
+ - spec/dummy/app/models/product.rb
139
+ - spec/dummy/app/models/dummy_product.rb
140
+ - spec/dummy/app/models/transaction.rb
141
+ - spec/dummy/app/models/priceable.rb
142
+ - spec/dummy/app/views/layouts/application.html.erb
143
+ - spec/dummy/app/helpers/application_helper.rb
144
+ - spec/dummy/app/controllers/application_controller.rb
145
+ - spec/dummy/log/development.log
146
+ - spec/dummy/log/test.log
147
+ - spec/dummy/config.ru
148
+ - spec/dummy/public/500.html
213
149
  - spec/dummy/public/404.html
214
150
  - spec/dummy/public/favicon.ico
215
- - spec/dummy/public/500.html
151
+ - spec/dummy/public/422.html
216
152
  - spec/configuration_spec.rb
153
+ - spec/support/database_cleaner.rb
154
+ - spec/helpers/form_helper_spec.rb
155
+ - spec/helpers/action_view_extension_spec.rb
156
+ - spec/mongoid/two_spec.rb
157
+ - spec/mongoid/three_spec.rb
158
+ - config/locales/money.en.yml
159
+ - config/locales/money.es.yml
217
160
  - CHANGELOG.md
218
161
  - LICENSE
219
162
  - README.md
@@ -235,69 +178,70 @@ required_ruby_version: !ruby/object:Gem::Requirement
235
178
  required_rubygems_version: !ruby/object:Gem::Requirement
236
179
  none: false
237
180
  requirements:
238
- - - ! '>='
181
+ - - ! '>'
239
182
  - !ruby/object:Gem::Version
240
- version: '0'
183
+ version: 1.3.1
241
184
  requirements: []
242
185
  rubyforge_project:
243
- rubygems_version: 1.8.21
186
+ rubygems_version: 1.8.11
244
187
  signing_key:
245
188
  specification_version: 3
246
189
  summary: Money gem integration with Rails
247
190
  test_files:
248
191
  - spec/spec_helper.rb
249
- - spec/mongoid/two_spec.rb
250
- - spec/mongoid/three_spec.rb
251
192
  - spec/active_record/monetizable_spec.rb
252
- - spec/support/database_cleaner.rb
253
- - spec/helpers/action_view_extension_spec.rb
254
193
  - spec/dummy/script/rails
255
- - spec/dummy/Rakefile
256
- - spec/dummy/db/structure.sql
257
- - spec/dummy/db/schema.rb
258
- - spec/dummy/db/migrate/20120524052716_create_services.rb
194
+ - spec/dummy/db/migrate/20120528181002_create_transactions.rb
259
195
  - spec/dummy/db/migrate/20120402080348_add_bonus_cents_to_product.rb
260
- - spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb
261
- - spec/dummy/db/migrate/20120528210103_create_dummy_products.rb
262
196
  - spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb
263
- - spec/dummy/db/migrate/20120528181002_create_transactions.rb
197
+ - spec/dummy/db/migrate/20120528210103_create_dummy_products.rb
264
198
  - spec/dummy/db/migrate/20120331190108_create_products.rb
199
+ - spec/dummy/db/migrate/20120524052716_create_services.rb
200
+ - spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb
201
+ - spec/dummy/db/structure.sql
202
+ - spec/dummy/db/schema.rb
265
203
  - spec/dummy/db/test.sqlite3
266
204
  - spec/dummy/db/development.sqlite3
267
205
  - spec/dummy/README.rdoc
268
- - spec/dummy/config.ru
269
- - spec/dummy/log/development.log
270
- - spec/dummy/log/test.log
271
- - spec/dummy/app/controllers/application_controller.rb
272
- - spec/dummy/app/views/layouts/application.html.erb
273
- - spec/dummy/app/helpers/application_helper.rb
274
- - spec/dummy/app/models/transaction.rb
275
- - spec/dummy/app/models/priceable.rb
276
- - spec/dummy/app/models/service.rb
277
- - spec/dummy/app/models/product.rb
278
- - spec/dummy/app/models/dummy_product.rb
279
- - spec/dummy/app/assets/javascripts/application.js
280
- - spec/dummy/app/assets/stylesheets/application.css
281
- - spec/dummy/config/boot.rb
282
- - spec/dummy/config/routes.rb
206
+ - spec/dummy/Rakefile
207
+ - spec/dummy/config/environment.rb
283
208
  - spec/dummy/config/locales/en.yml
284
- - spec/dummy/config/database.yml
285
- - spec/dummy/config/application.rb
209
+ - spec/dummy/config/initializers/money.rb
286
210
  - spec/dummy/config/initializers/mime_types.rb
211
+ - spec/dummy/config/initializers/wrap_parameters.rb
287
212
  - spec/dummy/config/initializers/backtrace_silencers.rb
288
- - spec/dummy/config/initializers/money.rb
289
213
  - spec/dummy/config/initializers/session_store.rb
290
- - spec/dummy/config/initializers/inflections.rb
291
214
  - spec/dummy/config/initializers/secret_token.rb
292
- - spec/dummy/config/initializers/wrap_parameters.rb
293
- - spec/dummy/config/environment.rb
294
- - spec/dummy/config/mongoid.yml
295
- - spec/dummy/config/environments/production.rb
215
+ - spec/dummy/config/initializers/inflections.rb
216
+ - spec/dummy/config/boot.rb
217
+ - spec/dummy/config/database.yml
218
+ - spec/dummy/config/routes.rb
296
219
  - spec/dummy/config/environments/test.rb
220
+ - spec/dummy/config/environments/production.rb
297
221
  - spec/dummy/config/environments/development.rb
298
- - spec/dummy/public/422.html
222
+ - spec/dummy/config/mongoid.yml
223
+ - spec/dummy/config/application.rb
224
+ - spec/dummy/app/assets/stylesheets/application.css
225
+ - spec/dummy/app/assets/javascripts/application.js
226
+ - spec/dummy/app/models/service.rb
227
+ - spec/dummy/app/models/product.rb
228
+ - spec/dummy/app/models/dummy_product.rb
229
+ - spec/dummy/app/models/transaction.rb
230
+ - spec/dummy/app/models/priceable.rb
231
+ - spec/dummy/app/views/layouts/application.html.erb
232
+ - spec/dummy/app/helpers/application_helper.rb
233
+ - spec/dummy/app/controllers/application_controller.rb
234
+ - spec/dummy/log/development.log
235
+ - spec/dummy/log/test.log
236
+ - spec/dummy/config.ru
237
+ - spec/dummy/public/500.html
299
238
  - spec/dummy/public/404.html
300
239
  - spec/dummy/public/favicon.ico
301
- - spec/dummy/public/500.html
240
+ - spec/dummy/public/422.html
302
241
  - spec/configuration_spec.rb
242
+ - spec/support/database_cleaner.rb
243
+ - spec/helpers/form_helper_spec.rb
244
+ - spec/helpers/action_view_extension_spec.rb
245
+ - spec/mongoid/two_spec.rb
246
+ - spec/mongoid/three_spec.rb
303
247
  has_rdoc: