# File lib/innate/node.rb, line 722
    def patterns_for(path)
      atoms = path.split('/')
      atoms.delete('')
      result = nil

      atoms.size.downto(0) do |len|
        action_name = atoms[0...len].join('__')
        params = atoms[len..-1]
        action_name = 'index' if action_name.empty? and params != ['index']

        return result if result = yield(action_name, params)
      end

      return nil
    end