money-rails 1.15.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -6
- data/LICENSE +1 -1
- data/README.md +121 -102
- data/config/locales/money.pt.yml +4 -0
- data/lib/money-rails/active_job/money_serializer.rb +19 -0
- data/lib/money-rails/active_record/monetizable.rb +17 -7
- data/lib/money-rails/configuration.rb +2 -2
- data/lib/money-rails/helpers/action_view_extension.rb +1 -1
- data/lib/money-rails/hooks.rb +11 -0
- data/lib/money-rails/version.rb +3 -1
- data/money-rails.gemspec +13 -26
- metadata +16 -225
- data/Rakefile +0 -84
- data/spec/active_record/migration_extensions/schema_statements_spec.rb +0 -101
- data/spec/active_record/migration_extensions/table_spec.rb +0 -104
- data/spec/active_record/monetizable_spec.rb +0 -1062
- data/spec/configuration_spec.rb +0 -147
- data/spec/dummy/README.rdoc +0 -261
- data/spec/dummy/Rakefile +0 -7
- data/spec/dummy/app/assets/config/manifest.js +0 -0
- data/spec/dummy/app/assets/javascripts/application.js +0 -15
- data/spec/dummy/app/assets/stylesheets/application.css +0 -13
- data/spec/dummy/app/controllers/application_controller.rb +0 -3
- data/spec/dummy/app/helpers/application_helper.rb +0 -2
- data/spec/dummy/app/models/dummy_product.rb +0 -8
- data/spec/dummy/app/models/priceable.rb +0 -8
- data/spec/dummy/app/models/product.rb +0 -59
- data/spec/dummy/app/models/service.rb +0 -5
- data/spec/dummy/app/models/transaction.rb +0 -13
- data/spec/dummy/app/views/layouts/application.html.erb +0 -14
- data/spec/dummy/config/application.rb +0 -66
- data/spec/dummy/config/boot.rb +0 -13
- data/spec/dummy/config/database.yml +0 -25
- data/spec/dummy/config/environment.rb +0 -5
- data/spec/dummy/config/environments/development.rb +0 -30
- data/spec/dummy/config/environments/production.rb +0 -69
- data/spec/dummy/config/environments/test.rb +0 -36
- data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/dummy/config/initializers/inflections.rb +0 -15
- data/spec/dummy/config/initializers/mime_types.rb +0 -5
- data/spec/dummy/config/initializers/money.rb +0 -31
- data/spec/dummy/config/initializers/secret_token.rb +0 -7
- data/spec/dummy/config/initializers/session_store.rb +0 -8
- data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/spec/dummy/config/locales/en-GB.yml +0 -11
- data/spec/dummy/config/locales/en-US.yml +0 -5
- data/spec/dummy/config/locales/en.yml +0 -5
- data/spec/dummy/config/locales/it.yml +0 -11
- data/spec/dummy/config/mongoid.yml +0 -29
- data/spec/dummy/config/routes.rb +0 -3
- data/spec/dummy/config.ru +0 -4
- data/spec/dummy/db/migrate/20120331190108_create_products.rb +0 -10
- data/spec/dummy/db/migrate/20120402080348_add_bonus_cents_to_product.rb +0 -6
- data/spec/dummy/db/migrate/20120524052716_create_services.rb +0 -10
- data/spec/dummy/db/migrate/20120528181002_create_transactions.rb +0 -11
- data/spec/dummy/db/migrate/20120528210103_create_dummy_products.rb +0 -10
- data/spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb +0 -5
- data/spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb +0 -7
- data/spec/dummy/db/migrate/20130124023419_add_price_in_a_range_cents_to_products.rb +0 -5
- data/spec/dummy/db/migrate/20140110194016_add_validates_method_amount_cents_to_products.rb +0 -5
- data/spec/dummy/db/migrate/20141005075025_add_aliased_attr_to_products.rb +0 -5
- data/spec/dummy/db/migrate/20150107061030_add_delivery_fee_cents_and_restock_fee_cents_to_product.rb +0 -6
- data/spec/dummy/db/migrate/20150126231442_add_reduced_price_to_products.rb +0 -6
- data/spec/dummy/db/migrate/20150213234410_add_special_price_to_products.rb +0 -5
- data/spec/dummy/db/migrate/20150217222612_add_lambda_price_to_products.rb +0 -5
- data/spec/dummy/db/migrate/20150303222230_add_skip_validation_price_cents_to_products.rb +0 -5
- data/spec/dummy/db/migrate/20151026220420_add_optional_amount_to_transactions.rb +0 -5
- data/spec/dummy/db/schema.rb +0 -59
- data/spec/dummy/db/structure.sql +0 -21
- data/spec/dummy/public/404.html +0 -26
- data/spec/dummy/public/422.html +0 -26
- data/spec/dummy/public/500.html +0 -25
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +0 -6
- data/spec/helpers/action_view_extension_spec.rb +0 -189
- data/spec/helpers/form_helper_spec.rb +0 -19
- data/spec/money_spec.rb +0 -40
- data/spec/mongoid/mongoid_spec.rb +0 -130
- data/spec/mongoid/two_spec.rb +0 -80
- data/spec/spec_helper.rb +0 -23
- data/spec/support/database_cleaner.rb +0 -14
- data/spec/test_helpers_spec.rb +0 -72
|
@@ -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
|
|
data/lib/money-rails/hooks.rb
CHANGED
|
@@ -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
|
data/lib/money-rails/version.rb
CHANGED
data/money-rails.gemspec
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
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
|
|
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.
|
|
30
|
-
s.add_dependency "monetize", "~> 1.9"
|
|
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.
|
|
36
|
-
s.
|
|
37
|
-
s.
|
|
38
|
-
s.
|
|
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[
|
|
43
|
-
s.metadata[
|
|
44
|
-
s.metadata[
|
|
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:
|
|
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:
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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,13 +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
|
|
154
83
|
- config/locales/money.ru.yml
|
|
155
84
|
- lib/generators/money_rails/initializer_generator.rb
|
|
156
85
|
- lib/generators/templates/money.rb
|
|
157
86
|
- lib/money-rails.rb
|
|
87
|
+
- lib/money-rails/active_job/money_serializer.rb
|
|
158
88
|
- lib/money-rails/active_model/validator.rb
|
|
159
89
|
- lib/money-rails/active_record/migration_extensions/options_extractor.rb
|
|
160
90
|
- lib/money-rails/active_record/migration_extensions/schema_statements.rb
|
|
@@ -175,75 +105,6 @@ files:
|
|
|
175
105
|
- lib/money-rails/test_helpers.rb
|
|
176
106
|
- lib/money-rails/version.rb
|
|
177
107
|
- money-rails.gemspec
|
|
178
|
-
- spec/active_record/migration_extensions/schema_statements_spec.rb
|
|
179
|
-
- spec/active_record/migration_extensions/table_spec.rb
|
|
180
|
-
- spec/active_record/monetizable_spec.rb
|
|
181
|
-
- spec/configuration_spec.rb
|
|
182
|
-
- spec/dummy/README.rdoc
|
|
183
|
-
- spec/dummy/Rakefile
|
|
184
|
-
- spec/dummy/app/assets/config/manifest.js
|
|
185
|
-
- spec/dummy/app/assets/javascripts/application.js
|
|
186
|
-
- spec/dummy/app/assets/stylesheets/application.css
|
|
187
|
-
- spec/dummy/app/controllers/application_controller.rb
|
|
188
|
-
- spec/dummy/app/helpers/application_helper.rb
|
|
189
|
-
- spec/dummy/app/models/dummy_product.rb
|
|
190
|
-
- spec/dummy/app/models/priceable.rb
|
|
191
|
-
- spec/dummy/app/models/product.rb
|
|
192
|
-
- spec/dummy/app/models/service.rb
|
|
193
|
-
- spec/dummy/app/models/transaction.rb
|
|
194
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
|
195
|
-
- spec/dummy/config.ru
|
|
196
|
-
- spec/dummy/config/application.rb
|
|
197
|
-
- spec/dummy/config/boot.rb
|
|
198
|
-
- spec/dummy/config/database.yml
|
|
199
|
-
- spec/dummy/config/environment.rb
|
|
200
|
-
- spec/dummy/config/environments/development.rb
|
|
201
|
-
- spec/dummy/config/environments/production.rb
|
|
202
|
-
- spec/dummy/config/environments/test.rb
|
|
203
|
-
- spec/dummy/config/initializers/backtrace_silencers.rb
|
|
204
|
-
- spec/dummy/config/initializers/inflections.rb
|
|
205
|
-
- spec/dummy/config/initializers/mime_types.rb
|
|
206
|
-
- spec/dummy/config/initializers/money.rb
|
|
207
|
-
- spec/dummy/config/initializers/secret_token.rb
|
|
208
|
-
- spec/dummy/config/initializers/session_store.rb
|
|
209
|
-
- spec/dummy/config/initializers/wrap_parameters.rb
|
|
210
|
-
- spec/dummy/config/locales/en-GB.yml
|
|
211
|
-
- spec/dummy/config/locales/en-US.yml
|
|
212
|
-
- spec/dummy/config/locales/en.yml
|
|
213
|
-
- spec/dummy/config/locales/it.yml
|
|
214
|
-
- spec/dummy/config/mongoid.yml
|
|
215
|
-
- spec/dummy/config/routes.rb
|
|
216
|
-
- spec/dummy/db/migrate/20120331190108_create_products.rb
|
|
217
|
-
- spec/dummy/db/migrate/20120402080348_add_bonus_cents_to_product.rb
|
|
218
|
-
- spec/dummy/db/migrate/20120524052716_create_services.rb
|
|
219
|
-
- spec/dummy/db/migrate/20120528181002_create_transactions.rb
|
|
220
|
-
- spec/dummy/db/migrate/20120528210103_create_dummy_products.rb
|
|
221
|
-
- spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb
|
|
222
|
-
- spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb
|
|
223
|
-
- spec/dummy/db/migrate/20130124023419_add_price_in_a_range_cents_to_products.rb
|
|
224
|
-
- spec/dummy/db/migrate/20140110194016_add_validates_method_amount_cents_to_products.rb
|
|
225
|
-
- spec/dummy/db/migrate/20141005075025_add_aliased_attr_to_products.rb
|
|
226
|
-
- spec/dummy/db/migrate/20150107061030_add_delivery_fee_cents_and_restock_fee_cents_to_product.rb
|
|
227
|
-
- spec/dummy/db/migrate/20150126231442_add_reduced_price_to_products.rb
|
|
228
|
-
- spec/dummy/db/migrate/20150213234410_add_special_price_to_products.rb
|
|
229
|
-
- spec/dummy/db/migrate/20150217222612_add_lambda_price_to_products.rb
|
|
230
|
-
- spec/dummy/db/migrate/20150303222230_add_skip_validation_price_cents_to_products.rb
|
|
231
|
-
- spec/dummy/db/migrate/20151026220420_add_optional_amount_to_transactions.rb
|
|
232
|
-
- spec/dummy/db/schema.rb
|
|
233
|
-
- spec/dummy/db/structure.sql
|
|
234
|
-
- spec/dummy/public/404.html
|
|
235
|
-
- spec/dummy/public/422.html
|
|
236
|
-
- spec/dummy/public/500.html
|
|
237
|
-
- spec/dummy/public/favicon.ico
|
|
238
|
-
- spec/dummy/script/rails
|
|
239
|
-
- spec/helpers/action_view_extension_spec.rb
|
|
240
|
-
- spec/helpers/form_helper_spec.rb
|
|
241
|
-
- spec/money_spec.rb
|
|
242
|
-
- spec/mongoid/mongoid_spec.rb
|
|
243
|
-
- spec/mongoid/two_spec.rb
|
|
244
|
-
- spec/spec_helper.rb
|
|
245
|
-
- spec/support/database_cleaner.rb
|
|
246
|
-
- spec/test_helpers_spec.rb
|
|
247
108
|
homepage: https://github.com/RubyMoney/money-rails
|
|
248
109
|
licenses:
|
|
249
110
|
- MIT
|
|
@@ -251,7 +112,7 @@ metadata:
|
|
|
251
112
|
changelog_uri: https://github.com/RubyMoney/money-rails/blob/master/CHANGELOG.md
|
|
252
113
|
source_code_uri: https://github.com/RubyMoney/money-rails/
|
|
253
114
|
bug_tracker_uri: https://github.com/RubyMoney/money-rails/issues
|
|
254
|
-
|
|
115
|
+
rubygems_mfa_required: 'true'
|
|
255
116
|
rdoc_options: []
|
|
256
117
|
require_paths:
|
|
257
118
|
- lib
|
|
@@ -259,84 +120,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
259
120
|
requirements:
|
|
260
121
|
- - ">="
|
|
261
122
|
- !ruby/object:Gem::Version
|
|
262
|
-
version: '
|
|
123
|
+
version: '3.1'
|
|
263
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
264
125
|
requirements:
|
|
265
126
|
- - ">="
|
|
266
127
|
- !ruby/object:Gem::Version
|
|
267
128
|
version: '0'
|
|
268
129
|
requirements: []
|
|
269
|
-
rubygems_version: 3.
|
|
270
|
-
signing_key:
|
|
130
|
+
rubygems_version: 3.6.5
|
|
271
131
|
specification_version: 4
|
|
272
132
|
summary: Money gem integration with Rails
|
|
273
|
-
test_files:
|
|
274
|
-
- spec/active_record/migration_extensions/schema_statements_spec.rb
|
|
275
|
-
- spec/active_record/migration_extensions/table_spec.rb
|
|
276
|
-
- spec/active_record/monetizable_spec.rb
|
|
277
|
-
- spec/configuration_spec.rb
|
|
278
|
-
- spec/dummy/README.rdoc
|
|
279
|
-
- spec/dummy/Rakefile
|
|
280
|
-
- spec/dummy/app/assets/config/manifest.js
|
|
281
|
-
- spec/dummy/app/assets/javascripts/application.js
|
|
282
|
-
- spec/dummy/app/assets/stylesheets/application.css
|
|
283
|
-
- spec/dummy/app/controllers/application_controller.rb
|
|
284
|
-
- spec/dummy/app/helpers/application_helper.rb
|
|
285
|
-
- spec/dummy/app/models/dummy_product.rb
|
|
286
|
-
- spec/dummy/app/models/priceable.rb
|
|
287
|
-
- spec/dummy/app/models/product.rb
|
|
288
|
-
- spec/dummy/app/models/service.rb
|
|
289
|
-
- spec/dummy/app/models/transaction.rb
|
|
290
|
-
- spec/dummy/app/views/layouts/application.html.erb
|
|
291
|
-
- spec/dummy/config.ru
|
|
292
|
-
- spec/dummy/config/application.rb
|
|
293
|
-
- spec/dummy/config/boot.rb
|
|
294
|
-
- spec/dummy/config/database.yml
|
|
295
|
-
- spec/dummy/config/environment.rb
|
|
296
|
-
- spec/dummy/config/environments/development.rb
|
|
297
|
-
- spec/dummy/config/environments/production.rb
|
|
298
|
-
- spec/dummy/config/environments/test.rb
|
|
299
|
-
- spec/dummy/config/initializers/backtrace_silencers.rb
|
|
300
|
-
- spec/dummy/config/initializers/inflections.rb
|
|
301
|
-
- spec/dummy/config/initializers/mime_types.rb
|
|
302
|
-
- spec/dummy/config/initializers/money.rb
|
|
303
|
-
- spec/dummy/config/initializers/secret_token.rb
|
|
304
|
-
- spec/dummy/config/initializers/session_store.rb
|
|
305
|
-
- spec/dummy/config/initializers/wrap_parameters.rb
|
|
306
|
-
- spec/dummy/config/locales/en-GB.yml
|
|
307
|
-
- spec/dummy/config/locales/en-US.yml
|
|
308
|
-
- spec/dummy/config/locales/en.yml
|
|
309
|
-
- spec/dummy/config/locales/it.yml
|
|
310
|
-
- spec/dummy/config/mongoid.yml
|
|
311
|
-
- spec/dummy/config/routes.rb
|
|
312
|
-
- spec/dummy/db/migrate/20120331190108_create_products.rb
|
|
313
|
-
- spec/dummy/db/migrate/20120402080348_add_bonus_cents_to_product.rb
|
|
314
|
-
- spec/dummy/db/migrate/20120524052716_create_services.rb
|
|
315
|
-
- spec/dummy/db/migrate/20120528181002_create_transactions.rb
|
|
316
|
-
- spec/dummy/db/migrate/20120528210103_create_dummy_products.rb
|
|
317
|
-
- spec/dummy/db/migrate/20120607210247_add_column_that_allows_nil.rb
|
|
318
|
-
- spec/dummy/db/migrate/20120712202655_add_sale_price_cents_to_product.rb
|
|
319
|
-
- spec/dummy/db/migrate/20130124023419_add_price_in_a_range_cents_to_products.rb
|
|
320
|
-
- spec/dummy/db/migrate/20140110194016_add_validates_method_amount_cents_to_products.rb
|
|
321
|
-
- spec/dummy/db/migrate/20141005075025_add_aliased_attr_to_products.rb
|
|
322
|
-
- spec/dummy/db/migrate/20150107061030_add_delivery_fee_cents_and_restock_fee_cents_to_product.rb
|
|
323
|
-
- spec/dummy/db/migrate/20150126231442_add_reduced_price_to_products.rb
|
|
324
|
-
- spec/dummy/db/migrate/20150213234410_add_special_price_to_products.rb
|
|
325
|
-
- spec/dummy/db/migrate/20150217222612_add_lambda_price_to_products.rb
|
|
326
|
-
- spec/dummy/db/migrate/20150303222230_add_skip_validation_price_cents_to_products.rb
|
|
327
|
-
- spec/dummy/db/migrate/20151026220420_add_optional_amount_to_transactions.rb
|
|
328
|
-
- spec/dummy/db/schema.rb
|
|
329
|
-
- spec/dummy/db/structure.sql
|
|
330
|
-
- spec/dummy/public/404.html
|
|
331
|
-
- spec/dummy/public/422.html
|
|
332
|
-
- spec/dummy/public/500.html
|
|
333
|
-
- spec/dummy/public/favicon.ico
|
|
334
|
-
- spec/dummy/script/rails
|
|
335
|
-
- spec/helpers/action_view_extension_spec.rb
|
|
336
|
-
- spec/helpers/form_helper_spec.rb
|
|
337
|
-
- spec/money_spec.rb
|
|
338
|
-
- spec/mongoid/mongoid_spec.rb
|
|
339
|
-
- spec/mongoid/two_spec.rb
|
|
340
|
-
- spec/spec_helper.rb
|
|
341
|
-
- spec/support/database_cleaner.rb
|
|
342
|
-
- 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
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
class Item < ActiveRecord::Base; end
|
|
4
|
-
|
|
5
|
-
if defined? ActiveRecord
|
|
6
|
-
describe MoneyRails::ActiveRecord::MigrationExtensions::SchemaStatements do
|
|
7
|
-
before :all do
|
|
8
|
-
@connection = ActiveRecord::Base.connection
|
|
9
|
-
@connection.drop_table :items if @connection.table_exists? :items
|
|
10
|
-
@connection.create_table :items
|
|
11
|
-
@connection.send :extend, MoneyRails::ActiveRecord::MigrationExtensions::SchemaStatements
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
describe 'add_money' do
|
|
15
|
-
before do
|
|
16
|
-
@connection.add_money :items, :price
|
|
17
|
-
@connection.add_money :items, :price_without_currency, currency: { present: false }
|
|
18
|
-
@connection.add_money :items, :price_with_full_options, amount: {
|
|
19
|
-
prefix: :prefix_,
|
|
20
|
-
postfix: :_postfix,
|
|
21
|
-
type: :decimal,
|
|
22
|
-
precision: 4,
|
|
23
|
-
scale: 2,
|
|
24
|
-
default: 1,
|
|
25
|
-
null: true
|
|
26
|
-
}, currency: {
|
|
27
|
-
prefix: :currency_prefix,
|
|
28
|
-
postfix: :currency_postfix,
|
|
29
|
-
column_name: :currency
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
Item.reset_column_information
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
context 'default options' do
|
|
36
|
-
describe 'amount' do
|
|
37
|
-
subject { Item.columns_hash['price_cents'] }
|
|
38
|
-
|
|
39
|
-
it { expect(subject.default.to_i).to eq(0) }
|
|
40
|
-
it { expect(Item.new.public_send(subject.name)).to eq(0) }
|
|
41
|
-
it { expect(subject.null).to be(false) }
|
|
42
|
-
it { expect(subject.type).to eq(:integer) }
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
describe 'currency' do
|
|
46
|
-
subject { Item.columns_hash['price_currency'] }
|
|
47
|
-
|
|
48
|
-
# set in spec/dummy/config/initializers/money.rb
|
|
49
|
-
it { expect(subject.default).to eq('EUR') }
|
|
50
|
-
|
|
51
|
-
it { expect(subject.null).to be(false) }
|
|
52
|
-
it { expect(subject.type).to eq(:string) }
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
context 'without currency column' do
|
|
57
|
-
it { expect(Item.columns_hash['price_without_currency_cents']).not_to be nil }
|
|
58
|
-
it { expect(Item.columns_hash['price_without_currency_currency']).to be nil }
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
context 'full options' do
|
|
62
|
-
describe 'amount' do
|
|
63
|
-
subject { Item.columns_hash['prefix_price_with_full_options_postfix'] }
|
|
64
|
-
|
|
65
|
-
it { expect(subject.default.to_i).to eq(1) }
|
|
66
|
-
it { expect(Item.new.public_send(subject.name)).to eq(1) }
|
|
67
|
-
it { expect(subject.null).to be(true) }
|
|
68
|
-
it { expect(subject.type).to eq(:decimal) }
|
|
69
|
-
it { expect(subject.precision).to eq(4) }
|
|
70
|
-
it { expect(subject.scale).to eq(2) }
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
describe 'currency' do
|
|
74
|
-
it { expect(Item.columns_hash['currency']).not_to be nil }
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
describe 'remove_money' do
|
|
80
|
-
before do
|
|
81
|
-
@connection.add_money :items, :price
|
|
82
|
-
@connection.add_money :items, :price_without_currency, currency: { present: false }
|
|
83
|
-
@connection.add_money :items, :price_with_full_options, amount: { prefix: :prefix_, postfix: :_postfix }, currency: { column_name: :currency }
|
|
84
|
-
|
|
85
|
-
@connection.remove_money :items, :price
|
|
86
|
-
@connection.remove_money :items, :price_without_currency, currency: { present: false }
|
|
87
|
-
@connection.remove_money :items, :price_with_full_options, amount: { prefix: :prefix_, postfix: :_postfix }, currency: { column_name: :currency }
|
|
88
|
-
|
|
89
|
-
Item.reset_column_information
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
it { expect(Item.columns_hash['price_cents']).to be nil }
|
|
93
|
-
it { expect(Item.columns_hash['price_currency']).to be nil }
|
|
94
|
-
|
|
95
|
-
it { expect(Item.columns_hash['price_without_currency_cents']).to be nil }
|
|
96
|
-
|
|
97
|
-
it { expect(Item.columns_hash['prefix_price_with_full_options_postfix']).to be nil }
|
|
98
|
-
it { expect(Item.columns_hash['currency']).to be nil }
|
|
99
|
-
end
|
|
100
|
-
end
|
|
101
|
-
end
|