Class: Kuby::TrailingHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/kuby/trailing_hash.rb

Instance Method Summary collapse

Instance Method Details

#eachObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/kuby/trailing_hash.rb', line 3

def each
  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