Sha256: beb9da572e9bf4bc6e59f6b4009db906797c1581dcb8ccf5ec9e16db00e3fac1
Contents?: true
Size: 699 Bytes
Versions: 35
Compression:
Stored size: 699 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 def add_class(name) singleton_class.send(:add_class_set, name) end end end end
Version data entries
35 entries across 35 versions & 2 rubygems