# frozen_string_literal: true module Spree module Core module EnvironmentExtension extend ActiveSupport::Concern def add_class(name) instance_variable_set "@#{name}", Set.new create_method( :"#{name}=" ) { |val| instance_variable_set( "@#{name}", val) } create_method(name.to_sym) do instance_variable_get( "@#{name}" ) end end private def create_method(name, &) self.class.__send__(:define_method, name, &) end end end end