Sha256: 82a8f2ecfd24374b4bae84d86b274426b7f228acf269bc6de433b8d8013d0f63

Contents?: true

Size: 702 Bytes

Versions: 32

Compression:

Stored size: 702 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/core_ext'
require 'ehbrs_ruby_utils/circular_list_spreader/base_level'

module EhbrsRubyUtils
  class CircularListSpreader
    class ItemLevel
      include ::EhbrsRubyUtils::CircularListSpreader::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
        self
      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

32 entries across 32 versions & 1 rubygems

Version Path
ehbrs_ruby_utils-0.44.3 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.44.2 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.44.1 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.44.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.41.1 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.41.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.40.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.39.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.38.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.37.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.36.1 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.36.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.35.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.33.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.32.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.31.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.30.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.29.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.28.0 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
ehbrs_ruby_utils-0.27.1 lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb