money-rails 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ if defined? Mongoid
4
+
5
+ describe Money do
6
+ let(:priceable) { Priceable.create(:price => Money.new(100, 'EUR')) }
7
+
8
+ context "serialize" do
9
+ it "serializes correctly a Money object to a hash of cents and currency" do
10
+ priceable.price.cents.should == 100
11
+ priceable.price.currency.should == Money::Currency.find('EUR')
12
+ end
13
+ end
14
+
15
+ context "deserialize" do
16
+ subject { priceable.price }
17
+ it { should be_an_instance_of(Money) }
18
+ it { should == Money.new(100, 'EUR') }
19
+ it "returns nil if a nil value was stored" do
20
+ nil_priceable = Priceable.create(:price => nil)
21
+ nil_priceable.price.should be_nil
22
+ end
23
+ end
24
+ end
25
+ end
@@ -3,19 +3,15 @@ ENV["RAILS_ENV"] = 'test'
3
3
  # Require dummy Rails app
4
4
  require File.expand_path("../../spec/dummy/config/environment", __FILE__)
5
5
 
6
+ require 'database_cleaner'
6
7
  require 'rspec/rails'
7
8
  require 'rspec/autorun'
8
9
 
9
10
  # Requires supporting ruby files with custom matchers and macros, etc,
10
11
  # in spec/support/ and its subdirectories.
11
- Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
12
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
12
13
 
13
14
  RSpec.configure do |config|
14
- # If you're not using ActiveRecord, or you'd prefer not to run each of your
15
- # examples within a transaction, remove the following line or assign false
16
- # instead of true.
17
- config.use_transactional_fixtures = true
18
-
19
15
  # If true, the base class of anonymous controllers will be inferred
20
16
  # automatically. This will be the default behavior in future versions of
21
17
  # rspec-rails.
@@ -0,0 +1,14 @@
1
+ DatabaseCleaner[:active_record].strategy = :transaction if defined? ActiveRecord
2
+ DatabaseCleaner[:mongoid].strategy = :truncation if defined? Mongoid
3
+
4
+ RSpec.configure do |config|
5
+ config.before :suite do
6
+ DatabaseCleaner.clean_with :truncation
7
+ end
8
+ config.before :each do
9
+ DatabaseCleaner.start
10
+ end
11
+ config.after :each do
12
+ DatabaseCleaner.clean
13
+ end
14
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: money-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-06-22 00:00:00.000000000 Z
14
+ date: 2012-07-22 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: money
18
- requirement: &10552880 !ruby/object:Gem::Requirement
18
+ requirement: !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ~>
@@ -23,10 +23,15 @@ dependencies:
23
23
  version: 5.0.0
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *10552880
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ version: 5.0.0
27
32
  - !ruby/object:Gem::Dependency
28
33
  name: activesupport
29
- requirement: &10552340 !ruby/object:Gem::Requirement
34
+ requirement: !ruby/object:Gem::Requirement
30
35
  none: false
31
36
  requirements:
32
37
  - - ~>
@@ -34,10 +39,15 @@ dependencies:
34
39
  version: '3.0'
35
40
  type: :runtime
36
41
  prerelease: false
37
- version_requirements: *10552340
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
38
48
  - !ruby/object:Gem::Dependency
39
49
  name: railties
40
- requirement: &10551860 !ruby/object:Gem::Requirement
50
+ requirement: !ruby/object:Gem::Requirement
41
51
  none: false
42
52
  requirements:
43
53
  - - ~>
@@ -45,10 +55,15 @@ dependencies:
45
55
  version: '3.0'
46
56
  type: :runtime
47
57
  prerelease: false
48
- version_requirements: *10551860
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: '3.0'
49
64
  - !ruby/object:Gem::Dependency
50
65
  name: rails
51
- requirement: &10551360 !ruby/object:Gem::Requirement
66
+ requirement: !ruby/object:Gem::Requirement
52
67
  none: false
53
68
  requirements:
54
69
  - - ~>
@@ -56,10 +71,15 @@ dependencies:
56
71
  version: '3.0'
57
72
  type: :development
58
73
  prerelease: false
59
- version_requirements: *10551360
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: '3.0'
60
80
  - !ruby/object:Gem::Dependency
61
81
  name: rspec
62
- requirement: &10550860 !ruby/object:Gem::Requirement
82
+ requirement: !ruby/object:Gem::Requirement
63
83
  none: false
64
84
  requirements:
65
85
  - - ~>
@@ -67,10 +87,15 @@ dependencies:
67
87
  version: '2.10'
68
88
  type: :development
69
89
  prerelease: false
70
- version_requirements: *10550860
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: '2.10'
71
96
  - !ruby/object:Gem::Dependency
72
97
  name: rspec-rails
73
- requirement: &10550360 !ruby/object:Gem::Requirement
98
+ requirement: !ruby/object:Gem::Requirement
74
99
  none: false
75
100
  requirements:
76
101
  - - ~>
@@ -78,10 +103,15 @@ dependencies:
78
103
  version: '2.10'
79
104
  type: :development
80
105
  prerelease: false
81
- version_requirements: *10550360
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ~>
110
+ - !ruby/object:Gem::Version
111
+ version: '2.10'
82
112
  - !ruby/object:Gem::Dependency
83
113
  name: guard-rspec
84
- requirement: &10549880 !ruby/object:Gem::Requirement
114
+ requirement: !ruby/object:Gem::Requirement
85
115
  none: false
86
116
  requirements:
87
117
  - - ~>
@@ -89,7 +119,28 @@ dependencies:
89
119
  version: '1.1'
90
120
  type: :development
91
121
  prerelease: false
92
- version_requirements: *10549880
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ~>
126
+ - !ruby/object:Gem::Version
127
+ version: '1.1'
128
+ - !ruby/object:Gem::Dependency
129
+ name: database_cleaner
130
+ requirement: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ! '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ type: :development
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
93
144
  description: This library provides integration of RubyMoney - Money gem with Rails
94
145
  email:
95
146
  - alup.rubymoney@gmail.com
@@ -97,64 +148,70 @@ executables: []
97
148
  extensions: []
98
149
  extra_rdoc_files: []
99
150
  files:
151
+ - lib/money-rails.rb
152
+ - lib/money-rails/railtie.rb
153
+ - lib/money-rails/mongoid/two.rb
100
154
  - lib/money-rails/hooks.rb
101
155
  - lib/money-rails/active_record/monetizable.rb
102
- - lib/money-rails/configuration.rb
103
- - lib/money-rails/version.rb
104
156
  - lib/money-rails/helpers/action_view_extension.rb
105
- - lib/money-rails/railtie.rb
106
- - lib/money-rails.rb
157
+ - lib/money-rails/version.rb
158
+ - lib/money-rails/configuration.rb
107
159
  - lib/generators/money_rails/initializer_generator.rb
108
160
  - lib/generators/templates/money.rb
109
161
  - spec/spec_helper.rb
162
+ - spec/mongoid/two_spec.rb
110
163
  - spec/active_record/monetizable_spec.rb
164
+ - spec/support/database_cleaner.rb
165
+ - spec/helpers/action_view_extension_spec.rb
111
166
  - spec/dummy/script/rails
112
- - spec/dummy/db/migrate/20120528181002_create_transactions.rb
167
+ - spec/dummy/Rakefile
168
+ - spec/dummy/db/structure.sql
169
+ - spec/dummy/db/schema.rb
170
+ - spec/dummy/db/migrate/20120524052716_create_services.rb
113
171
  - spec/dummy/db/migrate/20120402080348_add_bonus_cents_to_product.rb
114
- - spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb
172
+ - spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb
115
173
  - spec/dummy/db/migrate/20120528210103_create_dummy_products.rb
174
+ - spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb
175
+ - spec/dummy/db/migrate/20120528181002_create_transactions.rb
116
176
  - spec/dummy/db/migrate/20120331190108_create_products.rb
117
- - spec/dummy/db/migrate/20120524052716_create_services.rb
118
- - spec/dummy/db/structure.sql
119
- - spec/dummy/db/schema.rb
120
177
  - spec/dummy/db/test.sqlite3
121
178
  - spec/dummy/db/development.sqlite3
122
179
  - spec/dummy/README.rdoc
123
- - spec/dummy/Rakefile
124
- - spec/dummy/config/environment.rb
180
+ - spec/dummy/config.ru
181
+ - spec/dummy/log/development.log
182
+ - spec/dummy/log/test.log
183
+ - spec/dummy/app/controllers/application_controller.rb
184
+ - spec/dummy/app/views/layouts/application.html.erb
185
+ - spec/dummy/app/helpers/application_helper.rb
186
+ - spec/dummy/app/models/transaction.rb
187
+ - spec/dummy/app/models/priceable.rb
188
+ - spec/dummy/app/models/service.rb
189
+ - spec/dummy/app/models/product.rb
190
+ - spec/dummy/app/models/dummy_product.rb
191
+ - spec/dummy/app/assets/javascripts/application.js
192
+ - spec/dummy/app/assets/stylesheets/application.css
193
+ - spec/dummy/config/boot.rb
194
+ - spec/dummy/config/routes.rb
125
195
  - spec/dummy/config/locales/en.yml
126
- - spec/dummy/config/initializers/money.rb
196
+ - spec/dummy/config/database.yml
197
+ - spec/dummy/config/application.rb
127
198
  - spec/dummy/config/initializers/mime_types.rb
128
- - spec/dummy/config/initializers/wrap_parameters.rb
129
199
  - spec/dummy/config/initializers/backtrace_silencers.rb
200
+ - spec/dummy/config/initializers/money.rb
130
201
  - spec/dummy/config/initializers/session_store.rb
131
- - spec/dummy/config/initializers/secret_token.rb
132
202
  - spec/dummy/config/initializers/inflections.rb
133
- - spec/dummy/config/boot.rb
134
- - spec/dummy/config/database.yml
135
- - spec/dummy/config/routes.rb
136
- - spec/dummy/config/environments/test.rb
203
+ - spec/dummy/config/initializers/secret_token.rb
204
+ - spec/dummy/config/initializers/wrap_parameters.rb
205
+ - spec/dummy/config/environment.rb
206
+ - spec/dummy/config/mongoid.yml
137
207
  - spec/dummy/config/environments/production.rb
208
+ - spec/dummy/config/environments/test.rb
138
209
  - spec/dummy/config/environments/development.rb
139
- - spec/dummy/config/application.rb
140
- - spec/dummy/app/assets/stylesheets/application.css
141
- - spec/dummy/app/assets/javascripts/application.js
142
- - spec/dummy/app/models/service.rb
143
- - spec/dummy/app/models/product.rb
144
- - spec/dummy/app/models/dummy_product.rb
145
- - spec/dummy/app/models/transaction.rb
146
- - spec/dummy/app/views/layouts/application.html.erb
147
- - spec/dummy/app/helpers/application_helper.rb
148
- - spec/dummy/app/controllers/application_controller.rb
149
- - spec/dummy/log/development.log
150
- - spec/dummy/log/test.log
151
- - spec/dummy/config.ru
152
- - spec/dummy/public/500.html
210
+ - spec/dummy/public/422.html
153
211
  - spec/dummy/public/404.html
154
212
  - spec/dummy/public/favicon.ico
155
- - spec/dummy/public/422.html
213
+ - spec/dummy/public/500.html
156
214
  - spec/configuration_spec.rb
157
- - spec/helpers/action_view_extension_spec.rb
158
215
  - CHANGELOG.md
159
216
  - LICENSE
160
217
  - README.md
@@ -181,58 +238,63 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
238
  version: '0'
182
239
  requirements: []
183
240
  rubyforge_project:
184
- rubygems_version: 1.8.11
241
+ rubygems_version: 1.8.21
185
242
  signing_key:
186
243
  specification_version: 3
187
244
  summary: Money gem integration with Rails
188
245
  test_files:
189
246
  - spec/spec_helper.rb
247
+ - spec/mongoid/two_spec.rb
190
248
  - spec/active_record/monetizable_spec.rb
249
+ - spec/support/database_cleaner.rb
250
+ - spec/helpers/action_view_extension_spec.rb
191
251
  - spec/dummy/script/rails
192
- - spec/dummy/db/migrate/20120528181002_create_transactions.rb
252
+ - spec/dummy/Rakefile
253
+ - spec/dummy/db/structure.sql
254
+ - spec/dummy/db/schema.rb
255
+ - spec/dummy/db/migrate/20120524052716_create_services.rb
193
256
  - spec/dummy/db/migrate/20120402080348_add_bonus_cents_to_product.rb
194
- - spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb
257
+ - spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb
195
258
  - spec/dummy/db/migrate/20120528210103_create_dummy_products.rb
259
+ - spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb
260
+ - spec/dummy/db/migrate/20120528181002_create_transactions.rb
196
261
  - spec/dummy/db/migrate/20120331190108_create_products.rb
197
- - spec/dummy/db/migrate/20120524052716_create_services.rb
198
- - spec/dummy/db/structure.sql
199
- - spec/dummy/db/schema.rb
200
262
  - spec/dummy/db/test.sqlite3
201
263
  - spec/dummy/db/development.sqlite3
202
264
  - spec/dummy/README.rdoc
203
- - spec/dummy/Rakefile
204
- - spec/dummy/config/environment.rb
265
+ - spec/dummy/config.ru
266
+ - spec/dummy/log/development.log
267
+ - spec/dummy/log/test.log
268
+ - spec/dummy/app/controllers/application_controller.rb
269
+ - spec/dummy/app/views/layouts/application.html.erb
270
+ - spec/dummy/app/helpers/application_helper.rb
271
+ - spec/dummy/app/models/transaction.rb
272
+ - spec/dummy/app/models/priceable.rb
273
+ - spec/dummy/app/models/service.rb
274
+ - spec/dummy/app/models/product.rb
275
+ - spec/dummy/app/models/dummy_product.rb
276
+ - spec/dummy/app/assets/javascripts/application.js
277
+ - spec/dummy/app/assets/stylesheets/application.css
278
+ - spec/dummy/config/boot.rb
279
+ - spec/dummy/config/routes.rb
205
280
  - spec/dummy/config/locales/en.yml
206
- - spec/dummy/config/initializers/money.rb
281
+ - spec/dummy/config/database.yml
282
+ - spec/dummy/config/application.rb
207
283
  - spec/dummy/config/initializers/mime_types.rb
208
- - spec/dummy/config/initializers/wrap_parameters.rb
209
284
  - spec/dummy/config/initializers/backtrace_silencers.rb
285
+ - spec/dummy/config/initializers/money.rb
210
286
  - spec/dummy/config/initializers/session_store.rb
211
- - spec/dummy/config/initializers/secret_token.rb
212
287
  - spec/dummy/config/initializers/inflections.rb
213
- - spec/dummy/config/boot.rb
214
- - spec/dummy/config/database.yml
215
- - spec/dummy/config/routes.rb
216
- - spec/dummy/config/environments/test.rb
288
+ - spec/dummy/config/initializers/secret_token.rb
289
+ - spec/dummy/config/initializers/wrap_parameters.rb
290
+ - spec/dummy/config/environment.rb
291
+ - spec/dummy/config/mongoid.yml
217
292
  - spec/dummy/config/environments/production.rb
293
+ - spec/dummy/config/environments/test.rb
218
294
  - spec/dummy/config/environments/development.rb
219
- - spec/dummy/config/application.rb
220
- - spec/dummy/app/assets/stylesheets/application.css
221
- - spec/dummy/app/assets/javascripts/application.js
222
- - spec/dummy/app/models/service.rb
223
- - spec/dummy/app/models/product.rb
224
- - spec/dummy/app/models/dummy_product.rb
225
- - spec/dummy/app/models/transaction.rb
226
- - spec/dummy/app/views/layouts/application.html.erb
227
- - spec/dummy/app/helpers/application_helper.rb
228
- - spec/dummy/app/controllers/application_controller.rb
229
- - spec/dummy/log/development.log
230
- - spec/dummy/log/test.log
231
- - spec/dummy/config.ru
232
- - spec/dummy/public/500.html
295
+ - spec/dummy/public/422.html
233
296
  - spec/dummy/public/404.html
234
297
  - spec/dummy/public/favicon.ico
235
- - spec/dummy/public/422.html
298
+ - spec/dummy/public/500.html
236
299
  - spec/configuration_spec.rb
237
- - spec/helpers/action_view_extension_spec.rb
238
300
  has_rdoc: