Method: NoSE::KeyPath#subpaths

Defined in:
lib/nose/statements.rb

#subpaths(include_self = true) ⇒ Enumerable<KeyPath>

Produce all subpaths of this path

Returns:



253
254
255
256
257
258
259
260
261
262
# File 'lib/nose/statements.rb', line 253

def subpaths(include_self = true)
  Enumerator.new do |enum|
    enum.yield self if include_self
    1.upto(@keys.length) do |i|
      i.upto(@keys.length) do |j|
        enum.yield self[i - 1..j - 1]
      end
    end
  end
end