Class: Habaki::Visitor::NokogiriElement
- Defined in:
- lib/habaki/visitor/nokogiri_element.rb
Instance Attribute Summary collapse
-
#element ⇒ Object
Returns the value of attribute element.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #attr(key) ⇒ Object
- #children ⇒ Object
- #class_name ⇒ Object
- #class_names ⇒ Object
- #id_name ⇒ Object
-
#initialize(element) ⇒ NokogiriElement
constructor
A new instance of NokogiriElement.
- #parent ⇒ Object
- #previous ⇒ Object
- #tag_name ⇒ Object
- #text ⇒ Object
- #traverse(&block) ⇒ Object
Constructor Details
#initialize(element) ⇒ NokogiriElement
Returns a new instance of NokogiriElement.
6 7 8 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 6 def initialize(element) @element = element end |
Instance Attribute Details
#element ⇒ Object
Returns the value of attribute element.
4 5 6 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 4 def element @element end |
Instance Method Details
#==(other) ⇒ Object
55 56 57 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 55 def ==(other) @element == other.element end |
#attr(key) ⇒ Object
26 27 28 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 26 def attr(key) @element[key] end |
#children ⇒ Object
42 43 44 45 46 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 42 def children @element.children.map do |child| child.element? ? Visitor::NokogiriElement.new(child) : nil end.compact end |
#class_name ⇒ Object
14 15 16 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 14 def class_name @element["class"] end |
#class_names ⇒ Object
18 19 20 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 18 def class_names @element.classes end |
#id_name ⇒ Object
22 23 24 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 22 def id_name @element["id"] end |
#parent ⇒ Object
34 35 36 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 34 def parent Visitor::NokogiriElement.new(@element.parent) if @element.respond_to?(:parent) end |
#previous ⇒ Object
38 39 40 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 38 def previous Visitor::NokogiriElement.new(@element.previous_element) if @element.respond_to?(:previous_element) && @element.previous_element end |
#tag_name ⇒ Object
10 11 12 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 10 def tag_name @element.name end |
#text ⇒ Object
30 31 32 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 30 def text @element.text end |
#traverse(&block) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/habaki/visitor/nokogiri_element.rb', line 48 def traverse &block @element.traverse do |el| next unless el.element? block.call Visitor::NokogiriElement.new(el) end end |