money-rails 0.6.0 → 0.7.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: