Sha256: b10f274f66cba5cd6d506245e6bc0e12a2a9f9eba9d93a9c9bd6a943ffe10649
Contents?: true
Size: 826 Bytes
Versions: 6
Compression:
Stored size: 826 Bytes
Contents
module Mechanize::ElementMatcher def elements_with singular, plural = "#{singular}s" class_eval <<-CODE def #{plural}_with criteria = {} criteria = if String === criteria then {:name => criteria} else criteria.map do |k, v| k = :dom_id if k.to_sym == :id [k, v] end end f = #{plural}.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 alias :#{singular} :#{singular}_with CODE end end
Version data entries
6 entries across 6 versions & 3 rubygems