Sha256: aac9ab02114045ca0b4b3c71ff546df5fb1657f5a2dca676f58a5132d9eab93e

Contents?: true

Size: 611 Bytes

Versions: 72

Compression:

Stored size: 611 Bytes

Contents

# frozen_string_literal: true

require 'spree/core/class_constantizer'

module Spree
  module Core
    module EnvironmentExtension
      extend ActiveSupport::Concern

      class_methods do
        def add_class_set(name)
          define_method(name) do
            set = instance_variable_get("@#{name}")
            set ||= send("#{name}=", [])
            set
          end

          define_method("#{name}=") do |klasses|
            set = ClassConstantizer::Set.new
            set.concat(klasses)
            instance_variable_set("@#{name}", set)
          end
        end
      end
    end
  end
end

Version data entries

72 entries across 72 versions & 1 rubygems

Version Path
solidus_core-4.3.6 lib/spree/core/environment_extension.rb
solidus_core-4.2.5 lib/spree/core/environment_extension.rb
solidus_core-4.1.6 lib/spree/core/environment_extension.rb
solidus_core-4.3.4 lib/spree/core/environment_extension.rb
solidus_core-4.2.4 lib/spree/core/environment_extension.rb
solidus_core-4.1.5 lib/spree/core/environment_extension.rb
solidus_core-4.3.3 lib/spree/core/environment_extension.rb
solidus_core-4.3.2 lib/spree/core/environment_extension.rb
solidus_core-4.1.4 lib/spree/core/environment_extension.rb
solidus_core-4.3.1 lib/spree/core/environment_extension.rb
solidus_core-4.3.0 lib/spree/core/environment_extension.rb
solidus_core-4.2.3 lib/spree/core/environment_extension.rb
solidus_core-4.1.3 lib/spree/core/environment_extension.rb
solidus_core-4.0.4 lib/spree/core/environment_extension.rb
solidus_core-3.4.6 lib/spree/core/environment_extension.rb
solidus_core-4.0.3 lib/spree/core/environment_extension.rb
solidus_core-4.1.2 lib/spree/core/environment_extension.rb
solidus_core-4.2.2 lib/spree/core/environment_extension.rb
solidus_core-3.4.5 lib/spree/core/environment_extension.rb
solidus_core-4.2.1 lib/spree/core/environment_extension.rb