Module: SolidusSupport

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

Defined Under Namespace

Modules: Migration

Constant Summary collapse

VERSION =
'0.2.2.1'.freeze

Class Method Summary collapse

Class Method Details

.api_available?Boolean

Returns:

  • (Boolean)


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

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

.backend_available?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/solidus_support.rb', line 48

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

.frontend_available?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/solidus_support.rb', line 44

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

.new_gateway_code?Boolean

Returns:

  • (Boolean)


19
20
21
22
# File 'lib/solidus_support.rb', line 19

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



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

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



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

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

.solidus_gem_versionObject



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/solidus_support.rb', line 7

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