Sha256: 4ce940d218247cbed7f1620fe2760743081e77f43386140c7f2d4609e68face6

Contents?: true

Size: 671 Bytes

Versions: 6

Compression:

Stored size: 671 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'
require 'ehbrs_ruby_utils/spreader_t1/base_level'

module EhbrsRubyUtils
  class SpreaderT1
    class ItemLevel
      include ::EhbrsRubyUtils::SpreaderT1::BaseLevel

      common_constructor :item do
        self.removed = false
      end

      def label
        item.to_s
      end

      def pop
        raise 'Item already removed' if removed?

        self.removed = true
        item
      end

      def remaining_i
        removed? ? 0 : 1
      end

      def removed?
        @removed
      end

      def total_i
        1
      end

      private

      attr_writer :removed
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ehbrs_ruby_utils-0.17.3 lib/ehbrs_ruby_utils/spreader_t1/item_level.rb
ehbrs_ruby_utils-0.17.2 lib/ehbrs_ruby_utils/spreader_t1/item_level.rb
ehbrs_ruby_utils-0.17.1 lib/ehbrs_ruby_utils/spreader_t1/item_level.rb
ehbrs_ruby_utils-0.17.0 lib/ehbrs_ruby_utils/spreader_t1/item_level.rb
ehbrs_ruby_utils-0.16.1 lib/ehbrs_ruby_utils/spreader_t1/item_level.rb
ehbrs_ruby_utils-0.16.0 lib/ehbrs_ruby_utils/spreader_t1/item_level.rb