Methods

Class/Module Index [+]

Quicksearch

Mechanize::ElementMatcher

Public Instance Methods

elements_with(singular, plural = "#{singular}s") click to toggle source
# File lib/mechanize/element_matcher.rb, line 3
def elements_with singular, plural = "#{singular}s"
  class_eval       def #{plural}_with criteria = {}        criteria = if String === criteria then                     {:name => criteria}                   else                     Hash[criteria.map do |k, v|                            k = :dom_id if k.to_sym == :id                            k = :dom_class if k.to_sym == :class                            [k, v]                          end]                   end        f = select_#{plural}(criteria.delete(:search)).find_all do |thing|          criteria.all? do |k,v|            v === thing.send(k)          end        end        yield f if block_given?        f      end      def #{singular}_with criteria = {}        f = #{plural}_with(criteria).first        yield f if block_given?        f      end      def #{singular}_with! criteria = {}        f = #{singular}_with(criteria)        raise Mechanize::ElementNotFoundError.new(self, :#{singular}, criteria) if f.nil?        yield f if block_given?        f      end      def select_#{plural} selector        if selector.nil? then          #{plural}        else          nodes = search(selector)          #{plural}.find_all do |element|            nodes.include?(element.node)          end        end      end      alias :#{singular} :#{singular}_with
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.