solidus_core 4.1.5 → 4.1.6
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/app/models/spree/order.rb +2 -2
- data/app/models/spree/order_shipping.rb +0 -1
- data/app/models/spree/order_updater.rb +1 -1
- data/config/locales/en.yml +1 -0
- data/lib/generators/spree/dummy/templates/rails/test.rb +1 -1
- data/lib/spree/core/engine.rb +6 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/core.rb +12 -2
- data/lib/spree/deprecated_instance_variable_proxy.rb +57 -0
- data/lib/spree/deprecation.rb +3 -51
- data/lib/spree/preferences/configuration.rb +1 -1
- data/lib/spree/preferences/preferable_class_methods.rb +0 -1
- data/lib/spree/testing_support/dummy_app.rb +1 -1
- data/lib/spree/testing_support/extension_rake.rb +2 -2
- data/lib/spree/testing_support/factory_bot.rb +1 -1
- data/lib/spree/testing_support/silence_deprecations.rb +1 -1
- data/lib/spree/user_class_handle.rb +2 -2
- data/solidus_core.gemspec +3 -0
- metadata +18 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 38811ef28b9faebde7b3e42b07d31d5565b80d06835baf1ac58bb0ae97414af9
|
|
4
|
+
data.tar.gz: 2d6068d00488c061d340b7d3fd64f1e1ee1400b8d74dcb2e7488651b44738fd8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e6e9c756ed977b4f49af8d1289917227aab0d7014f48c57c7292cfbe7777ac73663e302845c7d2934c2103d8d67da7af622dbaac06e2c6e5ff20ee7e3d0fa313
|
|
7
|
+
data.tar.gz: afd76f1f8e11e2c2c0f18fecb226a197b3c7a7ae70d22449bb3866c48f5e8d3dea0bb2b23113a0324dedb1439820bec6a87f2a4b5c5ad7f743b140e418d722f7
|
data/app/models/spree/order.rb
CHANGED
|
@@ -264,7 +264,7 @@ module Spree
|
|
|
264
264
|
@recalculator ||= Spree::Config.order_recalculator_class.new(self)
|
|
265
265
|
end
|
|
266
266
|
alias_method :updater, :recalculator
|
|
267
|
-
deprecate updater: :recalculator, deprecator: Spree
|
|
267
|
+
deprecate updater: :recalculator, deprecator: Spree.deprecator
|
|
268
268
|
|
|
269
269
|
def assign_billing_to_shipping_address
|
|
270
270
|
self.ship_address = bill_address if bill_address
|
|
@@ -513,7 +513,7 @@ module Spree
|
|
|
513
513
|
end
|
|
514
514
|
|
|
515
515
|
alias_method :ensure_updated_shipments, :check_shipments_and_restart_checkout
|
|
516
|
-
deprecate ensure_updated_shipments: :check_shipments_and_restart_checkout, deprecator: Spree
|
|
516
|
+
deprecate ensure_updated_shipments: :check_shipments_and_restart_checkout, deprecator: Spree.deprecator
|
|
517
517
|
|
|
518
518
|
def restart_checkout_flow
|
|
519
519
|
return if state == 'cart'
|
|
@@ -44,7 +44,6 @@ class Spree::OrderShipping
|
|
|
44
44
|
# @return The carton created.
|
|
45
45
|
def ship(inventory_units:, stock_location:, address:, shipping_method:,
|
|
46
46
|
shipped_at: Time.current, external_number: nil, tracking_number: nil, suppress_mailer: false)
|
|
47
|
-
|
|
48
47
|
carton = nil
|
|
49
48
|
|
|
50
49
|
Spree::InventoryUnit.transaction do
|
|
@@ -31,7 +31,7 @@ module Spree
|
|
|
31
31
|
end
|
|
32
32
|
end
|
|
33
33
|
alias_method :update, :recalculate
|
|
34
|
-
deprecate update: :recalculate, deprecator: Spree
|
|
34
|
+
deprecate update: :recalculate, deprecator: Spree.deprecator
|
|
35
35
|
|
|
36
36
|
# Updates the +shipment_state+ attribute according to the following logic:
|
|
37
37
|
#
|
data/config/locales/en.yml
CHANGED
|
@@ -1539,6 +1539,7 @@ en:
|
|
|
1539
1539
|
end: End
|
|
1540
1540
|
ending_in: Ending in
|
|
1541
1541
|
error: error
|
|
1542
|
+
error_user_destroy_with_orders: Cannot delete a user with orders
|
|
1542
1543
|
errors:
|
|
1543
1544
|
messages:
|
|
1544
1545
|
cannot_delete_finalized_stock_location: Stock Location cannot be destroyed if you have open stock transfers.
|
data/lib/spree/core/engine.rb
CHANGED
|
@@ -75,6 +75,12 @@ module Spree
|
|
|
75
75
|
ActionMailer::Base.preview_path = app.config.action_mailer.preview_path
|
|
76
76
|
end
|
|
77
77
|
|
|
78
|
+
initializer "spree.deprecator" do |app|
|
|
79
|
+
if app.respond_to?(:deprecators)
|
|
80
|
+
app.deprecators[:spree] = Spree.deprecator
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
78
84
|
config.after_initialize do
|
|
79
85
|
Spree::Config.check_load_defaults_called('Spree::Config')
|
|
80
86
|
Spree::Config.static_model_preferences.validate!
|
data/lib/spree/core/version.rb
CHANGED
data/lib/spree/core.rb
CHANGED
|
@@ -9,6 +9,8 @@ require "active_record/railtie"
|
|
|
9
9
|
require "active_storage/engine"
|
|
10
10
|
require "sprockets/railtie"
|
|
11
11
|
|
|
12
|
+
require 'active_support/deprecation'
|
|
13
|
+
require 'spree/deprecated_instance_variable_proxy'
|
|
12
14
|
require 'acts_as_list'
|
|
13
15
|
require 'awesome_nested_set'
|
|
14
16
|
require 'cancan'
|
|
@@ -19,13 +21,17 @@ require 'paperclip'
|
|
|
19
21
|
require 'ransack'
|
|
20
22
|
require 'state_machines-activerecord'
|
|
21
23
|
|
|
22
|
-
require 'spree/deprecation'
|
|
23
|
-
|
|
24
24
|
# This is required because ActiveModel::Validations#invalid? conflicts with the
|
|
25
25
|
# invalid state of a Payment. In the future this should be removed.
|
|
26
26
|
StateMachines::Machine.ignore_method_conflicts = true
|
|
27
27
|
|
|
28
28
|
module Spree
|
|
29
|
+
def self.deprecator
|
|
30
|
+
@deprecator ||= ActiveSupport::Deprecation.new('5.0', 'Solidus')
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
autoload :Deprecation, 'spree/deprecation'
|
|
34
|
+
|
|
29
35
|
mattr_accessor :user_class, default: 'Spree::LegacyUser'
|
|
30
36
|
|
|
31
37
|
def self.user_class
|
|
@@ -36,6 +42,10 @@ module Spree
|
|
|
36
42
|
end
|
|
37
43
|
end
|
|
38
44
|
|
|
45
|
+
def self.user_class_name
|
|
46
|
+
@@user_class
|
|
47
|
+
end
|
|
48
|
+
|
|
39
49
|
# Load the same version defaults for all available Solidus components
|
|
40
50
|
#
|
|
41
51
|
# @see Spree::Preferences::Configuration#load_defaults
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'active_support/deprecation'
|
|
4
|
+
|
|
5
|
+
module Spree
|
|
6
|
+
# This DeprecatedInstanceVariableProxy transforms instance variable to
|
|
7
|
+
# deprecated instance variable.
|
|
8
|
+
#
|
|
9
|
+
# It differs from ActiveSupport::DeprecatedInstanceVariableProxy since
|
|
10
|
+
# it allows to define a custom message.
|
|
11
|
+
#
|
|
12
|
+
# class Example
|
|
13
|
+
# def initialize(deprecator)
|
|
14
|
+
# @request = Spree::DeprecatedInstanceVariableProxy.new(self, :request, :@request, deprecator, "Please, do not use this thing.")
|
|
15
|
+
# @_request = :a_request
|
|
16
|
+
# end
|
|
17
|
+
#
|
|
18
|
+
# def request
|
|
19
|
+
# @_request
|
|
20
|
+
# end
|
|
21
|
+
#
|
|
22
|
+
# def old_request
|
|
23
|
+
# @request
|
|
24
|
+
# end
|
|
25
|
+
# end
|
|
26
|
+
#
|
|
27
|
+
# When someone execute any method on @request variable this will trigger
|
|
28
|
+
# +warn+ method on +deprecator_instance+ and will fetch <tt>@_request</tt>
|
|
29
|
+
# variable via +request+ method and execute the same method on non-proxy
|
|
30
|
+
# instance variable.
|
|
31
|
+
#
|
|
32
|
+
# Default deprecator is <tt>Spree.deprecator</tt>.
|
|
33
|
+
class DeprecatedInstanceVariableProxy < ActiveSupport::Deprecation::DeprecationProxy
|
|
34
|
+
def initialize(instance, method_or_var, var = "@#{method}", deprecator = Spree.deprecator, message = nil)
|
|
35
|
+
@instance = instance
|
|
36
|
+
@method_or_var = method_or_var
|
|
37
|
+
@var = var
|
|
38
|
+
@deprecator = deprecator
|
|
39
|
+
@message = message
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
private
|
|
43
|
+
|
|
44
|
+
def target
|
|
45
|
+
return @instance.instance_variable_get(@method_or_var) if @instance.instance_variable_defined?(@method_or_var)
|
|
46
|
+
|
|
47
|
+
@instance.__send__(@method_or_var)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def warn(callstack, called, args)
|
|
51
|
+
message = @message || "#{@var} is deprecated! Call #{@method_or_var}.#{called} instead of #{@var}.#{called}."
|
|
52
|
+
message = [message, "Args: #{args.inspect}"].join(" ") unless args.empty?
|
|
53
|
+
|
|
54
|
+
@deprecator.warn(message, callstack)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
data/lib/spree/deprecation.rb
CHANGED
|
@@ -1,57 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require '
|
|
3
|
+
require 'spree/core'
|
|
4
4
|
|
|
5
5
|
module Spree
|
|
6
|
-
Deprecation =
|
|
6
|
+
Deprecation = Spree.deprecator
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
# deprecated instance variable.
|
|
10
|
-
#
|
|
11
|
-
# It differs from ActiveSupport::DeprecatedInstanceVariableProxy since
|
|
12
|
-
# it allows to define a custom message.
|
|
13
|
-
#
|
|
14
|
-
# class Example
|
|
15
|
-
# def initialize(deprecator)
|
|
16
|
-
# @request = Spree::DeprecatedInstanceVariableProxy.new(self, :request, :@request, deprecator, "Please, do not use this thing.")
|
|
17
|
-
# @_request = :a_request
|
|
18
|
-
# end
|
|
19
|
-
#
|
|
20
|
-
# def request
|
|
21
|
-
# @_request
|
|
22
|
-
# end
|
|
23
|
-
#
|
|
24
|
-
# def old_request
|
|
25
|
-
# @request
|
|
26
|
-
# end
|
|
27
|
-
# end
|
|
28
|
-
#
|
|
29
|
-
# When someone execute any method on @request variable this will trigger
|
|
30
|
-
# +warn+ method on +deprecator_instance+ and will fetch <tt>@_request</tt>
|
|
31
|
-
# variable via +request+ method and execute the same method on non-proxy
|
|
32
|
-
# instance variable.
|
|
33
|
-
#
|
|
34
|
-
# Default deprecator is <tt>Spree::Deprecation</tt>.
|
|
35
|
-
class DeprecatedInstanceVariableProxy < ActiveSupport::Deprecation::DeprecationProxy
|
|
36
|
-
def initialize(instance, method, var = "@#{method}", deprecator = Spree::Deprecation, message = nil)
|
|
37
|
-
@instance = instance
|
|
38
|
-
@method = method
|
|
39
|
-
@var = var
|
|
40
|
-
@deprecator = deprecator
|
|
41
|
-
@message = message
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
private
|
|
45
|
-
|
|
46
|
-
def target
|
|
47
|
-
@instance.__send__(@method)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
def warn(callstack, called, args)
|
|
51
|
-
message = @message || "#{@var} is deprecated! Call #{@method}.#{called} instead of #{@var}.#{called}."
|
|
52
|
-
message = [message, "Args: #{args.inspect}"].join(" ")
|
|
53
|
-
|
|
54
|
-
@deprecator.warn(message, callstack)
|
|
55
|
-
end
|
|
56
|
-
end
|
|
8
|
+
Spree.deprecator.warn "Spree::Deprecation is deprecated. Please use Spree.deprecator instead.", caller(2)
|
|
57
9
|
end
|
|
@@ -59,7 +59,7 @@ module Spree::Preferences
|
|
|
59
59
|
return if load_defaults_called || !Spree::Core.has_install_generator_been_run?
|
|
60
60
|
|
|
61
61
|
target_name = instance_constant_name || "#{self.class.name}.new"
|
|
62
|
-
Spree
|
|
62
|
+
Spree.deprecator.warn <<~MSG
|
|
63
63
|
It's recommended that you explicitly load the default configuration for
|
|
64
64
|
your current Solidus version. You can do it by adding the following call
|
|
65
65
|
to your Solidus initializer within the #{target_name} block:
|
|
@@ -4,8 +4,8 @@ require 'spree/testing_support/common_rake'
|
|
|
4
4
|
|
|
5
5
|
desc "Generates a dummy app for testing an extension"
|
|
6
6
|
namespace :extension do
|
|
7
|
-
task :test_app, [:user_class] do |_t,
|
|
7
|
+
task :test_app, [:user_class] do |_t, args|
|
|
8
8
|
Spree::DummyGeneratorHelper.inject_extension_requirements = true
|
|
9
|
-
Rake::Task['common:test_app'].invoke
|
|
9
|
+
Rake::Task['common:test_app'].invoke(args[:user_class])
|
|
10
10
|
end
|
|
11
11
|
end
|
|
@@ -21,8 +21,8 @@ module Spree
|
|
|
21
21
|
# @return [String] the name of the user class as a string.
|
|
22
22
|
# @raise [RuntimeError] if Spree.user_class is nil
|
|
23
23
|
def to_s
|
|
24
|
-
fail "'Spree.user_class' has not been set yet." unless Spree.
|
|
25
|
-
"::#{Spree.
|
|
24
|
+
fail "'Spree.user_class' has not been set yet." unless Spree.user_class_name
|
|
25
|
+
"::#{Spree.user_class_name}"
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
28
|
end
|
data/solidus_core.gemspec
CHANGED
|
@@ -35,6 +35,9 @@ Gem::Specification.new do |s|
|
|
|
35
35
|
s.add_dependency 'awesome_nested_set', '~> 3.3'
|
|
36
36
|
s.add_dependency 'cancancan', ['>= 2.2', '< 4.0']
|
|
37
37
|
s.add_dependency 'carmen', '~> 1.1.0'
|
|
38
|
+
# Adding a constraint here to make sure Rails 7.0 does not crash on startup
|
|
39
|
+
# https://github.com/rails/rails/pull/54264
|
|
40
|
+
s.add_dependency 'concurrent-ruby', '< 1.3.5'
|
|
38
41
|
s.add_dependency 'discard', '~> 1.0'
|
|
39
42
|
s.add_dependency 'friendly_id', '~> 5.0'
|
|
40
43
|
s.add_dependency 'image_processing', '~> 1.10'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solidus_core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.1.
|
|
4
|
+
version: 4.1.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Solidus Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2025-02-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: actionmailer
|
|
@@ -266,6 +266,20 @@ dependencies:
|
|
|
266
266
|
- - "~>"
|
|
267
267
|
- !ruby/object:Gem::Version
|
|
268
268
|
version: 1.1.0
|
|
269
|
+
- !ruby/object:Gem::Dependency
|
|
270
|
+
name: concurrent-ruby
|
|
271
|
+
requirement: !ruby/object:Gem::Requirement
|
|
272
|
+
requirements:
|
|
273
|
+
- - "<"
|
|
274
|
+
- !ruby/object:Gem::Version
|
|
275
|
+
version: 1.3.5
|
|
276
|
+
type: :runtime
|
|
277
|
+
prerelease: false
|
|
278
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
279
|
+
requirements:
|
|
280
|
+
- - "<"
|
|
281
|
+
- !ruby/object:Gem::Version
|
|
282
|
+
version: 1.3.5
|
|
269
283
|
- !ruby/object:Gem::Dependency
|
|
270
284
|
name: discard
|
|
271
285
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -866,6 +880,7 @@ files:
|
|
|
866
880
|
- lib/spree/core/validators/email.rb
|
|
867
881
|
- lib/spree/core/version.rb
|
|
868
882
|
- lib/spree/core/versioned_value.rb
|
|
883
|
+
- lib/spree/deprecated_instance_variable_proxy.rb
|
|
869
884
|
- lib/spree/deprecation.rb
|
|
870
885
|
- lib/spree/encryptor.rb
|
|
871
886
|
- lib/spree/i18n.rb
|
|
@@ -1047,7 +1062,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1047
1062
|
- !ruby/object:Gem::Version
|
|
1048
1063
|
version: 1.8.23
|
|
1049
1064
|
requirements: []
|
|
1050
|
-
rubygems_version: 3.
|
|
1065
|
+
rubygems_version: 3.5.3
|
|
1051
1066
|
signing_key:
|
|
1052
1067
|
specification_version: 4
|
|
1053
1068
|
summary: Essential models, mailers, and classes for the Solidus e-commerce project.
|