Sha256: 5b49abcdb0fa1b85f067d05495c615201e29ef32613412cf5ac0247b0e685e8f

Contents?: true

Size: 553 Bytes

Versions: 42

Compression:

Stored size: 553 Bytes

Contents

module Spree
  module Core
    module ClassConstantizer
      class Set
        include Enumerable

        def initialize
          @collection = ::Set.new
        end

        def <<(klass)
          @collection << klass.to_s
        end

        def concat(klasses)
          klasses.each do |klass|
            self << klass
          end
        end

        delegate :clear, :empty?, to: :@collection

        def each
          @collection.each do |klass|
            yield klass.constantize
          end
        end
      end
    end
  end
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
solidus_core-2.5.2 lib/spree/core/class_constantizer.rb
solidus_core-2.5.1 lib/spree/core/class_constantizer.rb
solidus_core-2.5.0 lib/spree/core/class_constantizer.rb
solidus_core-2.5.0.rc1 lib/spree/core/class_constantizer.rb
solidus_core-2.5.0.beta2 lib/spree/core/class_constantizer.rb
solidus_core-2.5.0.beta1 lib/spree/core/class_constantizer.rb
solidus_core-2.4.2 lib/spree/core/class_constantizer.rb
solidus_core-2.3.1 lib/spree/core/class_constantizer.rb
solidus_core-2.4.1 lib/spree/core/class_constantizer.rb
solidus_core-2.2.2 lib/spree/core/class_constantizer.rb
solidus_core-2.1.1 lib/spree/core/class_constantizer.rb
solidus_core-2.0.3 lib/spree/core/class_constantizer.rb
solidus_core-1.4.2 lib/spree/core/class_constantizer.rb
solidus_core-1.3.2 lib/spree/core/class_constantizer.rb
solidus_core-2.4.0 lib/spree/core/class_constantizer.rb
solidus_core-2.4.0.rc1 lib/spree/core/class_constantizer.rb
solidus_core-2.4.0.beta1 lib/spree/core/class_constantizer.rb
solidus_core-2.3.0 lib/spree/core/class_constantizer.rb
solidus_core-2.3.0.rc3 lib/spree/core/class_constantizer.rb
solidus_core-2.3.0.rc2 lib/spree/core/class_constantizer.rb