Sha256: 86c051504bb920eea46e8caf99926781a7283eb17d33ba349ca411dd97a55126

Contents?: true

Size: 1.47 KB

Versions: 2

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true

require 'solidus_support/version'
require 'solidus_support/migration'
require 'solidus_support/engine_extensions'
require 'solidus_core'

module SolidusSupport
  class << self
    def solidus_gem_version
      ActiveSupport::Deprecation.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

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

    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

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

    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

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

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

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
solidus_support-0.5.1 lib/solidus_support.rb
solidus_support-0.5.0 lib/solidus_support.rb