Sha256: ebf5f9d055183e6f63557330155cd4965ac82f1ac715b8e3aee09952dc12844e

Contents?: true

Size: 372 Bytes

Versions: 5

Compression:

Stored size: 372 Bytes

Contents

# typed: true

module Kuby
  class TrailingHash < Hash
    def each(&block)
      return to_enum(__method__) unless block_given?

      seen_keys = []
      keys_before = keys

      until keys_before.empty?
        keys_before.each do |k|
          yield k, self[k]
          seen_keys << k
        end

        keys_before = keys - seen_keys
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
kuby-core-0.20.2 lib/kuby/trailing_hash.rb
kuby-core-0.20.1 lib/kuby/trailing_hash.rb
kuby-core-0.20.0 lib/kuby/trailing_hash.rb
kuby-core-0.19.0 lib/kuby/trailing_hash.rb
kuby-core-0.18.0 lib/kuby/trailing_hash.rb