money-rails 1.14.0 → 2.0.0

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.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -5
  3. data/LICENSE +1 -1
  4. data/README.md +121 -102
  5. data/config/locales/money.en.yml +1 -2
  6. data/config/locales/money.pt.yml +4 -0
  7. data/config/locales/money.ru.yml +4 -0
  8. data/lib/money-rails/active_job/money_serializer.rb +19 -0
  9. data/lib/money-rails/active_record/monetizable.rb +17 -7
  10. data/lib/money-rails/configuration.rb +2 -2
  11. data/lib/money-rails/helpers/action_view_extension.rb +1 -1
  12. data/lib/money-rails/hooks.rb +11 -0
  13. data/lib/money-rails/version.rb +3 -1
  14. data/money-rails.gemspec +13 -26
  15. metadata +17 -225
  16. data/Rakefile +0 -84
  17. data/spec/active_record/migration_extensions/schema_statements_spec.rb +0 -101
  18. data/spec/active_record/migration_extensions/table_spec.rb +0 -104
  19. data/spec/active_record/monetizable_spec.rb +0 -1062
  20. data/spec/configuration_spec.rb +0 -147
  21. data/spec/dummy/README.rdoc +0 -261
  22. data/spec/dummy/Rakefile +0 -7
  23. data/spec/dummy/app/assets/config/manifest.js +0 -0
  24. data/spec/dummy/app/assets/javascripts/application.js +0 -15
  25. data/spec/dummy/app/assets/stylesheets/application.css +0 -13
  26. data/spec/dummy/app/controllers/application_controller.rb +0 -3
  27. data/spec/dummy/app/helpers/application_helper.rb +0 -2
  28. data/spec/dummy/app/models/dummy_product.rb +0 -8
  29. data/spec/dummy/app/models/priceable.rb +0 -8
  30. data/spec/dummy/app/models/product.rb +0 -59
  31. data/spec/dummy/app/models/service.rb +0 -5
  32. data/spec/dummy/app/models/transaction.rb +0 -13
  33. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  34. data/spec/dummy/config/application.rb +0 -66
  35. data/spec/dummy/config/boot.rb +0 -13
  36. data/spec/dummy/config/database.yml +0 -25
  37. data/spec/dummy/config/environment.rb +0 -5
  38. data/spec/dummy/config/environments/development.rb +0 -30
  39. data/spec/dummy/config/environments/production.rb +0 -69
  40. data/spec/dummy/config/environments/test.rb +0 -36
  41. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  42. data/spec/dummy/config/initializers/inflections.rb +0 -15
  43. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  44. data/spec/dummy/config/initializers/money.rb +0 -31
  45. data/spec/dummy/config/initializers/secret_token.rb +0 -7
  46. data/spec/dummy/config/initializers/session_store.rb +0 -8
  47. data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
  48. data/spec/dummy/config/locales/en-GB.yml +0 -11
  49. data/spec/dummy/config/locales/en-US.yml +0 -5
  50. data/spec/dummy/config/locales/en.yml +0 -5
  51. data/spec/dummy/config/locales/it.yml +0 -11
  52. data/spec/dummy/config/mongoid.yml +0 -29
  53. data/spec/dummy/config/routes.rb +0 -3
  54. data/spec/dummy/config.ru +0 -4
  55. data/spec/dummy/db/migrate/20120331190108_create_products.rb +0 -10
  56. data/spec/dummy/db/migrate/20120402080348_add_bonus_cents_to_product.rb +0 -6
  57. data/spec/dummy/db/migrate/20120524052716_create_services.rb +0 -10
  58. data/spec/dummy/db/migrate/20120528181002_create_transactions.rb +0 -11
  59. data/spec/dummy/db/migrate/20120528210103_create_dummy_products.rb +0 -10
  60. data/spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb +0 -5
  61. data/spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb +0 -7
  62. data/spec/dummy/db/migrate/20130124023419_add_price_in_a_range_cents_to_products.rb +0 -5
  63. data/spec/dummy/db/migrate/20140110194016_add_validates_method_amount_cents_to_products.rb +0 -5
  64. data/spec/dummy/db/migrate/20141005075025_add_aliased_attr_to_products.rb +0 -5
  65. data/spec/dummy/db/migrate/20150107061030_add_delivery_fee_cents_and_restock_fee_cents_to_product.rb +0 -6
  66. data/spec/dummy/db/migrate/20150126231442_add_reduced_price_to_products.rb +0 -6
  67. data/spec/dummy/db/migrate/20150213234410_add_special_price_to_products.rb +0 -5
  68. data/spec/dummy/db/migrate/20150217222612_add_lambda_price_to_products.rb +0 -5
  69. data/spec/dummy/db/migrate/20150303222230_add_skip_validation_price_cents_to_products.rb +0 -5
  70. data/spec/dummy/db/migrate/20151026220420_add_optional_amount_to_transactions.rb +0 -5
  71. data/spec/dummy/db/schema.rb +0 -59
  72. data/spec/dummy/db/structure.sql +0 -21
  73. data/spec/dummy/public/404.html +0 -26
  74. data/spec/dummy/public/422.html +0 -26
  75. data/spec/dummy/public/500.html +0 -25
  76. data/spec/dummy/public/favicon.ico +0 -0
  77. data/spec/dummy/script/rails +0 -6
  78. data/spec/helpers/action_view_extension_spec.rb +0 -189
  79. data/spec/helpers/form_helper_spec.rb +0 -19
  80. data/spec/money_spec.rb +0 -40
  81. data/spec/mongoid/mongoid_spec.rb +0 -130
  82. data/spec/mongoid/two_spec.rb +0 -80
  83. data/spec/spec_helper.rb +0 -23
  84. data/spec/support/database_cleaner.rb +0 -14
  85. data/spec/test_helpers_spec.rb +0 -72
@@ -10,7 +10,7 @@ module MoneyRails
10
10
 
11
11
  module ClassMethods
12
12
  def monetized_attributes
13
- monetized_attributes = @monetized_attributes || {}
13
+ monetized_attributes = @monetized_attributes || {}.with_indifferent_access
14
14
 
15
15
  if superclass.respond_to?(:monetized_attributes)
16
16
  monetized_attributes.merge(superclass.monetized_attributes)
@@ -118,8 +118,8 @@ module MoneyRails
118
118
 
119
119
 
120
120
  # Getter for monetized attribute
121
- define_method name do |*args|
122
- read_monetized name, subunit_name, options, *args
121
+ define_method name do |*args, **kwargs|
122
+ read_monetized name, subunit_name, options, *args, **kwargs
123
123
  end
124
124
 
125
125
  # Setter for monetized attribute
@@ -178,9 +178,19 @@ module MoneyRails
178
178
  end
179
179
  end
180
180
 
181
- def read_monetized(name, subunit_name, options = {}, *args)
182
- # Get the cents
183
- amount = public_send(subunit_name, *args)
181
+ def read_monetized(name, subunit_name, options = nil, *args, **kwargs)
182
+ # Ruby 2.x compatibility
183
+ if options.nil?
184
+ options = kwargs
185
+ kwargs = {}
186
+ end
187
+
188
+ if kwargs.any?
189
+ amount = public_send(subunit_name, *args, **kwargs)
190
+ else
191
+ # Ruby 2.x does not allow empty kwargs
192
+ amount = public_send(subunit_name, *args)
193
+ end
184
194
 
185
195
  return if amount.nil? && options[:allow_nil]
186
196
  # Get the currency object
@@ -195,7 +205,7 @@ module MoneyRails
195
205
  result = memoized
196
206
  else
197
207
  memoized_amount = memoized.amount.to_money(attr_currency)
198
- write_attribute subunit_name, memoized_amount.cents
208
+ write_attribute subunit_name, memoized_amount.cents if has_attribute? subunit_name
199
209
  # Cache the value (it may be nil)
200
210
  result = instance_variable_set("@#{name}", memoized_amount)
201
211
  end
@@ -20,7 +20,7 @@ module MoneyRails
20
20
  # Configuration parameters
21
21
 
22
22
  def default_currency
23
- Money::Currency.new(Money.default_currency)
23
+ Money::Currency.new(Money.default_currency) if Money.default_currency
24
24
  end
25
25
 
26
26
  # Set default currency of money library
@@ -35,7 +35,7 @@ module MoneyRails
35
35
  end
36
36
 
37
37
  def set_currency_column_for_default_currency!
38
- iso_code = default_currency.iso_code
38
+ iso_code = default_currency && default_currency.iso_code
39
39
  currency_column.merge! default: iso_code
40
40
  end
41
41
 
@@ -53,7 +53,7 @@ module MoneyRails
53
53
 
54
54
  value = value.to_money
55
55
 
56
- format "%0#{value.currency.exponent}d", (value % value.currency.subunit_to_unit).cents
56
+ format "%0#{value.currency.exponent}d", (value.abs % value.currency.subunit_to_unit).cents
57
57
  end
58
58
  end
59
59
  end
@@ -56,6 +56,17 @@ module MoneyRails
56
56
  require 'money-rails/helpers/action_view_extension'
57
57
  ::ActionView::Base.send :include, MoneyRails::ActionViewExtension
58
58
  end
59
+
60
+ # For ActiveSupport
61
+ ActiveSupport.on_load(:active_job) do |v|
62
+ if defined?(::ActiveJob::Serializers)
63
+ require 'money-rails/active_job/money_serializer'
64
+ Rails.application.config.active_job.tap do |config|
65
+ config.custom_serializers ||= []
66
+ config.custom_serializers << MoneyRails::ActiveJob::MoneySerializer
67
+ end
68
+ end
69
+ end
59
70
  end
60
71
  end
61
72
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module MoneyRails
2
- VERSION = '1.14.0'
4
+ VERSION = "2.0.0"
3
5
  end
data/money-rails.gemspec CHANGED
@@ -1,5 +1,6 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/money-rails/version', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path("lib/money-rails/version", __dir__)
3
4
 
4
5
  Gem::Specification.new do |s|
5
6
  s.name = "money-rails"
@@ -12,35 +13,21 @@ Gem::Specification.new do |s|
12
13
  s.summary = "Money gem integration with Rails"
13
14
  s.homepage = "https://github.com/RubyMoney/money-rails"
14
15
 
15
- s.files = Dir.glob("{lib,spec,config}/**/*")
16
- s.files += %w(CHANGELOG.md LICENSE README.md)
17
- s.files += %w(Rakefile money-rails.gemspec)
18
-
19
- s.files.delete("spec/dummy/log")
20
- s.files.delete("spec/dummy/log/development.log")
21
- s.files.delete("spec/dummy/log/test.log")
22
- s.files.delete("spec/dummy/db/development.sqlite3")
23
- s.files.delete("spec/dummy/db/test.sqlite3")
24
-
25
- s.test_files = s.files.grep(/^spec\//)
16
+ s.files = `git ls-files -z -- lib/ config/ CHANGELOG.md LICENSE *.gemspec README.md`.split("\x0")
26
17
 
27
18
  s.require_path = "lib"
28
19
 
29
- s.add_dependency "money", "~> 6.13.2"
30
- s.add_dependency "monetize", "~> 1.9.0"
31
- s.add_dependency "activesupport", ">= 3.0"
32
- s.add_dependency "railties", ">= 3.0"
33
- s.add_dependency "mime-types", "< 3" if RUBY_VERSION < '2.0' # mime-types > 3 depends on mime-types-data, which doesn't support ruby 1.9
20
+ s.required_ruby_version = ">= 3.1"
34
21
 
35
- s.add_development_dependency "rails", ">= 3.0"
36
- s.add_development_dependency "rspec-rails", "~> 3.0"
37
- s.add_development_dependency 'database_cleaner', '~> 1.6.1'
38
- s.add_development_dependency 'test-unit', '~> 3.0' if RUBY_VERSION >= '2.2'
39
- s.add_development_dependency 'bundler'
22
+ s.add_dependency "money", "~> 7.0"
23
+ s.add_dependency "monetize", "~> 2.0"
24
+ s.add_dependency "activesupport", ">= 6.1"
25
+ s.add_dependency "railties", ">= 6.1"
40
26
 
41
27
  if s.respond_to?(:metadata)
42
- s.metadata['changelog_uri'] = 'https://github.com/RubyMoney/money-rails/blob/master/CHANGELOG.md'
43
- s.metadata['source_code_uri'] = 'https://github.com/RubyMoney/money-rails/'
44
- s.metadata['bug_tracker_uri'] = 'https://github.com/RubyMoney/money-rails/issues'
28
+ s.metadata["changelog_uri"] = "https://github.com/RubyMoney/money-rails/blob/master/CHANGELOG.md"
29
+ s.metadata["source_code_uri"] = "https://github.com/RubyMoney/money-rails/"
30
+ s.metadata["bug_tracker_uri"] = "https://github.com/RubyMoney/money-rails/issues"
31
+ s.metadata["rubygems_mfa_required"] = "true"
45
32
  end
46
33
  end
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: money-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Loupasakis
8
8
  - Shane Emmons
9
9
  - Simone Carletti
10
- autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2021-03-02 00:00:00.000000000 Z
12
+ date: 2025-12-11 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: money
@@ -18,126 +17,56 @@ dependencies:
18
17
  requirements:
19
18
  - - "~>"
20
19
  - !ruby/object:Gem::Version
21
- version: 6.13.2
20
+ version: '7.0'
22
21
  type: :runtime
23
22
  prerelease: false
24
23
  version_requirements: !ruby/object:Gem::Requirement
25
24
  requirements:
26
25
  - - "~>"
27
26
  - !ruby/object:Gem::Version
28
- version: 6.13.2
27
+ version: '7.0'
29
28
  - !ruby/object:Gem::Dependency
30
29
  name: monetize
31
30
  requirement: !ruby/object:Gem::Requirement
32
31
  requirements:
33
32
  - - "~>"
34
33
  - !ruby/object:Gem::Version
35
- version: 1.9.0
34
+ version: '2.0'
36
35
  type: :runtime
37
36
  prerelease: false
38
37
  version_requirements: !ruby/object:Gem::Requirement
39
38
  requirements:
40
39
  - - "~>"
41
40
  - !ruby/object:Gem::Version
42
- version: 1.9.0
41
+ version: '2.0'
43
42
  - !ruby/object:Gem::Dependency
44
43
  name: activesupport
45
44
  requirement: !ruby/object:Gem::Requirement
46
45
  requirements:
47
46
  - - ">="
48
47
  - !ruby/object:Gem::Version
49
- version: '3.0'
48
+ version: '6.1'
50
49
  type: :runtime
51
50
  prerelease: false
52
51
  version_requirements: !ruby/object:Gem::Requirement
53
52
  requirements:
54
53
  - - ">="
55
54
  - !ruby/object:Gem::Version
56
- version: '3.0'
55
+ version: '6.1'
57
56
  - !ruby/object:Gem::Dependency
58
57
  name: railties
59
58
  requirement: !ruby/object:Gem::Requirement
60
59
  requirements:
61
60
  - - ">="
62
61
  - !ruby/object:Gem::Version
63
- version: '3.0'
62
+ version: '6.1'
64
63
  type: :runtime
65
64
  prerelease: false
66
65
  version_requirements: !ruby/object:Gem::Requirement
67
66
  requirements:
68
67
  - - ">="
69
68
  - !ruby/object:Gem::Version
70
- version: '3.0'
71
- - !ruby/object:Gem::Dependency
72
- name: rails
73
- requirement: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- version: '3.0'
78
- type: :development
79
- prerelease: false
80
- version_requirements: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: '3.0'
85
- - !ruby/object:Gem::Dependency
86
- name: rspec-rails
87
- requirement: !ruby/object:Gem::Requirement
88
- requirements:
89
- - - "~>"
90
- - !ruby/object:Gem::Version
91
- version: '3.0'
92
- type: :development
93
- prerelease: false
94
- version_requirements: !ruby/object:Gem::Requirement
95
- requirements:
96
- - - "~>"
97
- - !ruby/object:Gem::Version
98
- version: '3.0'
99
- - !ruby/object:Gem::Dependency
100
- name: database_cleaner
101
- requirement: !ruby/object:Gem::Requirement
102
- requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: 1.6.1
106
- type: :development
107
- prerelease: false
108
- version_requirements: !ruby/object:Gem::Requirement
109
- requirements:
110
- - - "~>"
111
- - !ruby/object:Gem::Version
112
- version: 1.6.1
113
- - !ruby/object:Gem::Dependency
114
- name: test-unit
115
- requirement: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - "~>"
118
- - !ruby/object:Gem::Version
119
- version: '3.0'
120
- type: :development
121
- prerelease: false
122
- version_requirements: !ruby/object:Gem::Requirement
123
- requirements:
124
- - - "~>"
125
- - !ruby/object:Gem::Version
126
- version: '3.0'
127
- - !ruby/object:Gem::Dependency
128
- name: bundler
129
- requirement: !ruby/object:Gem::Requirement
130
- requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- version: '0'
134
- type: :development
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- requirements:
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- version: '0'
69
+ version: '6.1'
141
70
  description: This library provides integration of RubyMoney - Money gem with Rails
142
71
  email:
143
72
  - alup.rubymoney@gmail.com
@@ -148,12 +77,14 @@ files:
148
77
  - CHANGELOG.md
149
78
  - LICENSE
150
79
  - README.md
151
- - Rakefile
152
80
  - config/locales/money.da.yml
153
81
  - config/locales/money.en.yml
82
+ - config/locales/money.pt.yml
83
+ - config/locales/money.ru.yml
154
84
  - lib/generators/money_rails/initializer_generator.rb
155
85
  - lib/generators/templates/money.rb
156
86
  - lib/money-rails.rb
87
+ - lib/money-rails/active_job/money_serializer.rb
157
88
  - lib/money-rails/active_model/validator.rb
158
89
  - lib/money-rails/active_record/migration_extensions/options_extractor.rb
159
90
  - lib/money-rails/active_record/migration_extensions/schema_statements.rb
@@ -174,75 +105,6 @@ files:
174
105
  - lib/money-rails/test_helpers.rb
175
106
  - lib/money-rails/version.rb
176
107
  - money-rails.gemspec
177
- - spec/active_record/migration_extensions/schema_statements_spec.rb
178
- - spec/active_record/migration_extensions/table_spec.rb
179
- - spec/active_record/monetizable_spec.rb
180
- - spec/configuration_spec.rb
181
- - spec/dummy/README.rdoc
182
- - spec/dummy/Rakefile
183
- - spec/dummy/app/assets/config/manifest.js
184
- - spec/dummy/app/assets/javascripts/application.js
185
- - spec/dummy/app/assets/stylesheets/application.css
186
- - spec/dummy/app/controllers/application_controller.rb
187
- - spec/dummy/app/helpers/application_helper.rb
188
- - spec/dummy/app/models/dummy_product.rb
189
- - spec/dummy/app/models/priceable.rb
190
- - spec/dummy/app/models/product.rb
191
- - spec/dummy/app/models/service.rb
192
- - spec/dummy/app/models/transaction.rb
193
- - spec/dummy/app/views/layouts/application.html.erb
194
- - spec/dummy/config.ru
195
- - spec/dummy/config/application.rb
196
- - spec/dummy/config/boot.rb
197
- - spec/dummy/config/database.yml
198
- - spec/dummy/config/environment.rb
199
- - spec/dummy/config/environments/development.rb
200
- - spec/dummy/config/environments/production.rb
201
- - spec/dummy/config/environments/test.rb
202
- - spec/dummy/config/initializers/backtrace_silencers.rb
203
- - spec/dummy/config/initializers/inflections.rb
204
- - spec/dummy/config/initializers/mime_types.rb
205
- - spec/dummy/config/initializers/money.rb
206
- - spec/dummy/config/initializers/secret_token.rb
207
- - spec/dummy/config/initializers/session_store.rb
208
- - spec/dummy/config/initializers/wrap_parameters.rb
209
- - spec/dummy/config/locales/en-GB.yml
210
- - spec/dummy/config/locales/en-US.yml
211
- - spec/dummy/config/locales/en.yml
212
- - spec/dummy/config/locales/it.yml
213
- - spec/dummy/config/mongoid.yml
214
- - spec/dummy/config/routes.rb
215
- - spec/dummy/db/migrate/20120331190108_create_products.rb
216
- - spec/dummy/db/migrate/20120402080348_add_bonus_cents_to_product.rb
217
- - spec/dummy/db/migrate/20120524052716_create_services.rb
218
- - spec/dummy/db/migrate/20120528181002_create_transactions.rb
219
- - spec/dummy/db/migrate/20120528210103_create_dummy_products.rb
220
- - spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb
221
- - spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb
222
- - spec/dummy/db/migrate/20130124023419_add_price_in_a_range_cents_to_products.rb
223
- - spec/dummy/db/migrate/20140110194016_add_validates_method_amount_cents_to_products.rb
224
- - spec/dummy/db/migrate/20141005075025_add_aliased_attr_to_products.rb
225
- - spec/dummy/db/migrate/20150107061030_add_delivery_fee_cents_and_restock_fee_cents_to_product.rb
226
- - spec/dummy/db/migrate/20150126231442_add_reduced_price_to_products.rb
227
- - spec/dummy/db/migrate/20150213234410_add_special_price_to_products.rb
228
- - spec/dummy/db/migrate/20150217222612_add_lambda_price_to_products.rb
229
- - spec/dummy/db/migrate/20150303222230_add_skip_validation_price_cents_to_products.rb
230
- - spec/dummy/db/migrate/20151026220420_add_optional_amount_to_transactions.rb
231
- - spec/dummy/db/schema.rb
232
- - spec/dummy/db/structure.sql
233
- - spec/dummy/public/404.html
234
- - spec/dummy/public/422.html
235
- - spec/dummy/public/500.html
236
- - spec/dummy/public/favicon.ico
237
- - spec/dummy/script/rails
238
- - spec/helpers/action_view_extension_spec.rb
239
- - spec/helpers/form_helper_spec.rb
240
- - spec/money_spec.rb
241
- - spec/mongoid/mongoid_spec.rb
242
- - spec/mongoid/two_spec.rb
243
- - spec/spec_helper.rb
244
- - spec/support/database_cleaner.rb
245
- - spec/test_helpers_spec.rb
246
108
  homepage: https://github.com/RubyMoney/money-rails
247
109
  licenses:
248
110
  - MIT
@@ -250,7 +112,7 @@ metadata:
250
112
  changelog_uri: https://github.com/RubyMoney/money-rails/blob/master/CHANGELOG.md
251
113
  source_code_uri: https://github.com/RubyMoney/money-rails/
252
114
  bug_tracker_uri: https://github.com/RubyMoney/money-rails/issues
253
- post_install_message:
115
+ rubygems_mfa_required: 'true'
254
116
  rdoc_options: []
255
117
  require_paths:
256
118
  - lib
@@ -258,84 +120,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
258
120
  requirements:
259
121
  - - ">="
260
122
  - !ruby/object:Gem::Version
261
- version: '0'
123
+ version: '3.1'
262
124
  required_rubygems_version: !ruby/object:Gem::Requirement
263
125
  requirements:
264
126
  - - ">="
265
127
  - !ruby/object:Gem::Version
266
128
  version: '0'
267
129
  requirements: []
268
- rubygems_version: 3.2.3
269
- signing_key:
130
+ rubygems_version: 3.6.5
270
131
  specification_version: 4
271
132
  summary: Money gem integration with Rails
272
- test_files:
273
- - spec/active_record/migration_extensions/schema_statements_spec.rb
274
- - spec/active_record/migration_extensions/table_spec.rb
275
- - spec/active_record/monetizable_spec.rb
276
- - spec/configuration_spec.rb
277
- - spec/dummy/README.rdoc
278
- - spec/dummy/Rakefile
279
- - spec/dummy/app/assets/config/manifest.js
280
- - spec/dummy/app/assets/javascripts/application.js
281
- - spec/dummy/app/assets/stylesheets/application.css
282
- - spec/dummy/app/controllers/application_controller.rb
283
- - spec/dummy/app/helpers/application_helper.rb
284
- - spec/dummy/app/models/dummy_product.rb
285
- - spec/dummy/app/models/priceable.rb
286
- - spec/dummy/app/models/product.rb
287
- - spec/dummy/app/models/service.rb
288
- - spec/dummy/app/models/transaction.rb
289
- - spec/dummy/app/views/layouts/application.html.erb
290
- - spec/dummy/config.ru
291
- - spec/dummy/config/application.rb
292
- - spec/dummy/config/boot.rb
293
- - spec/dummy/config/database.yml
294
- - spec/dummy/config/environment.rb
295
- - spec/dummy/config/environments/development.rb
296
- - spec/dummy/config/environments/production.rb
297
- - spec/dummy/config/environments/test.rb
298
- - spec/dummy/config/initializers/backtrace_silencers.rb
299
- - spec/dummy/config/initializers/inflections.rb
300
- - spec/dummy/config/initializers/mime_types.rb
301
- - spec/dummy/config/initializers/money.rb
302
- - spec/dummy/config/initializers/secret_token.rb
303
- - spec/dummy/config/initializers/session_store.rb
304
- - spec/dummy/config/initializers/wrap_parameters.rb
305
- - spec/dummy/config/locales/en-GB.yml
306
- - spec/dummy/config/locales/en-US.yml
307
- - spec/dummy/config/locales/en.yml
308
- - spec/dummy/config/locales/it.yml
309
- - spec/dummy/config/mongoid.yml
310
- - spec/dummy/config/routes.rb
311
- - spec/dummy/db/migrate/20120331190108_create_products.rb
312
- - spec/dummy/db/migrate/20120402080348_add_bonus_cents_to_product.rb
313
- - spec/dummy/db/migrate/20120524052716_create_services.rb
314
- - spec/dummy/db/migrate/20120528181002_create_transactions.rb
315
- - spec/dummy/db/migrate/20120528210103_create_dummy_products.rb
316
- - spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb
317
- - spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb
318
- - spec/dummy/db/migrate/20130124023419_add_price_in_a_range_cents_to_products.rb
319
- - spec/dummy/db/migrate/20140110194016_add_validates_method_amount_cents_to_products.rb
320
- - spec/dummy/db/migrate/20141005075025_add_aliased_attr_to_products.rb
321
- - spec/dummy/db/migrate/20150107061030_add_delivery_fee_cents_and_restock_fee_cents_to_product.rb
322
- - spec/dummy/db/migrate/20150126231442_add_reduced_price_to_products.rb
323
- - spec/dummy/db/migrate/20150213234410_add_special_price_to_products.rb
324
- - spec/dummy/db/migrate/20150217222612_add_lambda_price_to_products.rb
325
- - spec/dummy/db/migrate/20150303222230_add_skip_validation_price_cents_to_products.rb
326
- - spec/dummy/db/migrate/20151026220420_add_optional_amount_to_transactions.rb
327
- - spec/dummy/db/schema.rb
328
- - spec/dummy/db/structure.sql
329
- - spec/dummy/public/404.html
330
- - spec/dummy/public/422.html
331
- - spec/dummy/public/500.html
332
- - spec/dummy/public/favicon.ico
333
- - spec/dummy/script/rails
334
- - spec/helpers/action_view_extension_spec.rb
335
- - spec/helpers/form_helper_spec.rb
336
- - spec/money_spec.rb
337
- - spec/mongoid/mongoid_spec.rb
338
- - spec/mongoid/two_spec.rb
339
- - spec/spec_helper.rb
340
- - spec/support/database_cleaner.rb
341
- - spec/test_helpers_spec.rb
133
+ test_files: []
data/Rakefile DELETED
@@ -1,84 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'rubygems'
4
- require 'bundler'
5
- require 'bundler/gem_tasks'
6
-
7
- begin
8
- Bundler.setup(:default, :development)
9
- rescue Bundler::BundlerError => e
10
- $stderr.puts e.message
11
- $stderr.puts "Run `bundle install` to install missing gems"
12
- exit e.status_code
13
- end
14
-
15
- APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
16
- GEMFILES_PATH = 'gemfiles/*.gemfile'.freeze
17
-
18
- load 'rails/tasks/engine.rake' if File.exist?(APP_RAKEFILE)
19
-
20
- require 'rake'
21
- require 'rspec/core/rake_task'
22
-
23
- RSpec::Core::RakeTask.new
24
-
25
- task default: "spec:all"
26
- task test: :spec
27
- task spec: :prepare_test_env
28
-
29
- desc "Prepare money-rails engine test environment"
30
- task :prepare_test_env do
31
- Rake.application['app:db:drop:all'].invoke
32
- Rake.application['app:db:create'].invoke if Rails::VERSION::MAJOR >= 5
33
- Rake.application['app:db:migrate'].invoke
34
- Rake.application['app:db:test:prepare'].invoke
35
- end
36
-
37
- def run_with_gemfile(gemfile)
38
- Bundler.with_clean_env do
39
- begin
40
- sh "BUNDLE_GEMFILE='#{gemfile}' bundle install --quiet"
41
- Rake.application['app:db:create'].invoke
42
- Rake.application['app:db:test:prepare'].invoke
43
- sh "BUNDLE_GEMFILE='#{gemfile}' bundle exec rake spec"
44
- ensure
45
- Rake.application['app:db:drop:all'].execute
46
- end
47
- end
48
- end
49
-
50
- namespace :spec do
51
- frameworks_versions = {}
52
-
53
- Dir[GEMFILES_PATH].each do |gemfile|
54
- file_name = File.basename(gemfile, '.gemfile')
55
- framework, version = file_name.split(/(\d+)/)
56
- major, minor = version.split(//)
57
-
58
- # Ruby 3 exclusions
59
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
60
- # Rails 5 does not support ruby-3.0.0 https://github.com/rails/rails/issues/40938#issuecomment-751569171
61
- # Mongoid gem does not yet support ruby-3.0.0 https://github.com/mongodb/mongoid#compatibility
62
- next if framework == 'mongoid' || (framework == 'rails' && version == "5")
63
- end
64
-
65
- frameworks_versions[framework] ||= []
66
- frameworks_versions[framework] << file_name
67
-
68
- desc "Run Tests against #{framework} #{[major, minor].compact.join('.')}"
69
- task(file_name) { run_with_gemfile gemfile }
70
- end
71
-
72
- frameworks_versions.each do |framework, versions|
73
- desc "Run Tests against all supported #{framework} versions"
74
- task framework => versions
75
- end
76
-
77
- desc 'Run Tests against all ORMs'
78
- task all: frameworks_versions.keys
79
- end
80
-
81
- desc "Update CONTRIBUTORS file"
82
- task :contributors do
83
- sh "git shortlog -s | awk '{ print $2 \" \" $3 }' > CONTRIBUTORS"
84
- end