Sha256: 0e758e1117cdf66f800f79959c37ac8aa51bc19d10326f575fb295bdd65a9c4a

Contents?: true

Size: 631 Bytes

Versions: 3

Compression:

Stored size: 631 Bytes

Contents

module SpreeExtension
  module ComponentsChecker
    def self.included(base)
      base.extend(ClassMethods)
    end

    module ClassMethods
      def api_available?
        @@api_available ||= engines_classes.include?('Spree::Api::Engine')
      end

      def backend_available?
        @@backend_available ||= engines_classes.include?('Spree::Backend::Engine')
      end

      def frontend_available?
        @@frontend_available ||= engines_classes.include?('Spree::Frontend::Engine')
      end

      def engines_classes
        ::Rails::Engine.subclasses.map(&:instance).map { |e| e.class.to_s }
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
spree_extension-0.1.0 lib/spree_extension/components_checker.rb
spree_extension-0.0.9 lib/spree_extension/components_checker.rb
spree_extension-0.0.8 lib/spree_extension/components_checker.rb