Module: SolidusSupport

Defined in:
lib/solidus_support.rb,
lib/solidus_support/version.rb,
lib/solidus_support/migration.rb,
lib/solidus_support/engine_extensions/decorators.rb

Defined Under Namespace

Modules: EngineExtensions, Migration

Constant Summary collapse

VERSION =
'0.4.0'

Class Method Summary collapse

Class Method Details

.api_available?Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/solidus_support.rb', line 60

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

.backend_available?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/solidus_support.rb', line 56

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

.frontend_available?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/solidus_support.rb', line 52

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

.new_gateway_code?Boolean

Returns:

  • (Boolean)


27
28
29
30
# File 'lib/solidus_support.rb', line 27

def new_gateway_code?
  first_version_with_new_gateway_code = Gem::Requirement.new('>= 2.3')
  first_version_with_new_gateway_code.satisfied_by?(solidus_gem_version)
end

.payment_method_parent_class(credit_card: false) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/solidus_support.rb', line 40

def payment_method_parent_class(credit_card: false)
  if new_gateway_code?
    if credit_card
      Spree::PaymentMethod::CreditCard
    else
      Spree::PaymentMethod
    end
  else
    Spree::Gateway
  end
end

.payment_source_parent_classObject



32
33
34
35
36
37
38
# File 'lib/solidus_support.rb', line 32

def payment_source_parent_class
  if new_gateway_code?
    Spree::PaymentSource
  else
    Spree::Base
  end
end

.reset_spree_preferences_deprecated?Boolean

Returns:

  • (Boolean)


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

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

.solidus_gem_versionObject



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

def solidus_gem_version
  if Spree.respond_to?(:solidus_gem_version)
    Spree.solidus_gem_version
  elsif Spree.respond_to?(:gem_version)
    # 1.1 doesn't have solidus_gem_version
    Gem::Version.new(Spree.solidus_version)
  else
    # 1.0 doesn't have gem_version
    Gem::Specification.detect { |x| x.name == 'solidus_core' }.version
  end
end