# File lib/rest.rb, line 139 def parameters result = Array.new @path.scan( /[^=]<(.*?)(\??)>/ ) do |p| node = self found = false optional = $2.empty? ? false : true while( node && !found ) node.children.each do |c| if ( c.is_a?( Parameter ) && c.name == $1 ) c.optional = optional result.push c found = true break end end node = node.parent end if ( !found ) n = Parameter.new( $1 ) n.optional = optional result.push n end end result end