Sha256: 9cf9a4f69c6716850b004b2b8a8d48c2ae2a695cc81cd831133a31aec99cde96

Contents?: true

Size: 879 Bytes

Versions: 32

Compression:

Stored size: 879 Bytes

Contents

require "stepmod/utils/change_edition"

module Stepmod
  module Utils
    class ChangeEditionCollection
      def initialize
        @collection = {}
      end

      def fetch_or_initialize(version)
        @collection[version] ||=
          Stepmod::Utils::ChangeEdition.new(version: version)
      end

      def to_h
        @collection.values.map(&:to_h)
      end

      def []=(version, change_edition)
        klass = Stepmod::Utils::ChangeEdition
        @collection[version] = if change_edition.is_a?(klass)
                                 change_edition
                               else
                                 klass.new(change_edition)
                               end
      end

      def [](version)
        @collection[version]
      end

      def count
        @collection.values.count
      end
      alias_method :size, :count
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
stepmod-utils-0.6.5 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.6.3 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.6.2 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.6.1 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.6.0 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.5.0 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.14 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.13 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.12 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.11 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.10 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.9 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.8 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.7 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.6 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.5 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.2 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.1 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.4.0 lib/stepmod/utils/change_edition_collection.rb
stepmod-utils-0.3.37 lib/stepmod/utils/change_edition_collection.rb