Module: WatirNokogiri::AttributeHelper
- Included in:
- Element
- Defined in:
- lib/watir-nokogiri/attribute_helper.rb
Overview
Extended by Element, provides methods for defining attributes on the element classes.
Constant Summary collapse
- IGNORED_ATTRIBUTES =
[:text, :hash]
Instance Method Summary collapse
Instance Method Details
#attribute_list ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/watir-nokogiri/attribute_helper.rb', line 17 def attribute_list @attribute_list ||= ( list = typed_attributes.values.flatten list += ancestors[1..-1].map do |e| e.attribute_list if e.respond_to?(:attribute_list) end.compact.flatten ).uniq end |
#attributes(attribute_map = nil) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/watir-nokogiri/attribute_helper.rb', line 26 def attributes(attribute_map = nil) attribute_map or return attribute_list add_attributes attribute_map attribute_map.each do |type, attribs| attribs.each do |name| # we don't want to override methods like :text or :hash next if IGNORED_ATTRIBUTES.include?(name) define_attribute(type, name) end end end |
#typed_attributes ⇒ Object
13 14 15 |
# File 'lib/watir-nokogiri/attribute_helper.rb', line 13 def typed_attributes @typed_attributes ||= Hash.new { |hash, type| hash[type] = [] } end |