Module: SolidusSupport

Defined in:
lib/solidus_support.rb,
lib/solidus_support/version.rb,
lib/solidus_support/migration.rb,
lib/solidus_support/deprecator.rb,
lib/solidus_support/engine_extensions.rb,
lib/solidus_support/legacy_event_compat.rb,
lib/solidus_support/legacy_event_compat/bus.rb,
lib/solidus_support/legacy_event_compat/subscriber.rb

Defined Under Namespace

Modules: EngineExtensions, LegacyEventCompat, Migration

Constant Summary collapse

VERSION =
'0.10.2'

Class Method Summary collapse

Class Method Details

.admin_available?Boolean

Returns:

  • (Boolean)


84
85
86
# File 'lib/solidus_support.rb', line 84

def admin_available?
  defined?(SolidusAdmin::Engine)
end

.api_available?Boolean

Returns:

  • (Boolean)


80
81
82
# File 'lib/solidus_support.rb', line 80

def api_available?
  defined?(Spree::Api::Engine)
end

.backend_available?Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/solidus_support.rb', line 76

def backend_available?
  defined?(Spree::Backend::Engine)
end

.combined_first_and_last_name_in_address?Boolean

Returns:

  • (Boolean)


26
27
28
29
30
31
32
33
34
# File 'lib/solidus_support.rb', line 26

def combined_first_and_last_name_in_address?
  versions_before_preference = Gem::Requirement.new('< 2.11.0')
  versions_after_preference = Gem::Requirement.new('>= 3.0.0.alpha')

  return false if versions_before_preference.satisfied_by?(Spree.solidus_gem_version)
  return true if versions_after_preference.satisfied_by?(Spree.solidus_gem_version)

  Spree::Config.use_combined_first_and_last_name_in_address
end

.deprecatorObject



5
6
7
# File 'lib/solidus_support/deprecator.rb', line 5

def deprecator
  @deprecator ||= ActiveSupport::Deprecation.new(Gem::Version.new('1.0'), 'SolidusSupport')
end

.frontend_available?Boolean

Returns:

  • (Boolean)


72
73
74
# File 'lib/solidus_support.rb', line 72

def frontend_available?
  defined?(Spree::Frontend::Engine)
end

.new_gateway_code?Boolean

Returns:

  • (Boolean)


36
37
38
39
40
41
42
43
# File 'lib/solidus_support.rb', line 36

def new_gateway_code?
  deprecator.warn <<-WARN.squish, caller
    SolidusSupport.new_gateway_code? is deprecated without replacement and will be removed
    in solidus_support 1.0.
  WARN

  true
end

.payment_method_parent_class(credit_card: false) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/solidus_support.rb', line 54

def payment_method_parent_class(credit_card: false)
  if credit_card
    deprecator.warn <<-WARN.squish, caller
      SolidusSupport.payment_method_parent_class(credit_card: true) is deprecated and will be removed
      in solidus_support 1.0. Please use Spree::PaymentMethod::CreditCard instead.
    WARN

    Spree::PaymentMethod::CreditCard
  else
    deprecator.warn <<-WARN.squish, caller
      SolidusSupport.payment_method_parent_class(credit_card: false) is deprecated and will be removed
      in solidus_support 1.0. Please use Spree::PaymentMethod instead.
    WARN

    Spree::PaymentMethod
  end
end

.payment_source_parent_classObject



45
46
47
48
49
50
51
52
# File 'lib/solidus_support.rb', line 45

def payment_source_parent_class
  deprecator.warn <<-WARN.squish, caller
    SolidusSupport.payment_source_parent_class is deprecated and will be removed
    in solidus_support 1.0. Please use Spree::PaymentSource instead.
  WARN

  Spree::PaymentSource
end

.reset_spree_preferences_deprecated?Boolean

Returns:

  • (Boolean)


21
22
23
24
# File 'lib/solidus_support.rb', line 21

def reset_spree_preferences_deprecated?
  first_version_without_reset = Gem::Requirement.new('>= 2.9')
  first_version_without_reset.satisfied_by?(Spree.solidus_gem_version)
end

.solidus_deprecatorObject



9
10
11
# File 'lib/solidus_support/deprecator.rb', line 9

def solidus_deprecator
  Spree.solidus_gem_version >= Gem::Version.new('4.2') ? Spree.deprecator : Spree::Deprecation
end

.solidus_gem_versionObject



12
13
14
15
16
17
18
19
# File 'lib/solidus_support.rb', line 12

def solidus_gem_version
  deprecator.warn <<-WARN.squish, caller
    SolidusSupport.solidus_gem_version is deprecated and will be removed
    in solidus_support 1.0. Please use Spree.solidus_gem_version instead.
  WARN

  Spree.solidus_gem_version
end