Class: A11y::Lint::ErbNode
- Inherits:
-
Object
- Object
- A11y::Lint::ErbNode
- Defined in:
- lib/a11y/lint/erb_node.rb
Overview
Wraps a Nokogiri node or extracted ERB output tag as a queryable node for lint rules.
Instance Attribute Summary collapse
-
#line ⇒ Object
readonly
Returns the value of attribute line.
Instance Method Summary collapse
- #attribute?(name) ⇒ Boolean
- #attributes ⇒ Object
-
#children ⇒ Object
Returns direct element children wrapped as ErbNode objects.
-
#initialize(line:, nokogiri_node: nil, ruby_code: nil) ⇒ ErbNode
constructor
A new instance of ErbNode.
- #ruby_code ⇒ Object
- #tag_name ⇒ Object
Constructor Details
#initialize(line:, nokogiri_node: nil, ruby_code: nil) ⇒ ErbNode
Returns a new instance of ErbNode.
10 11 12 13 14 |
# File 'lib/a11y/lint/erb_node.rb', line 10 def initialize(line:, nokogiri_node: nil, ruby_code: nil) @nokogiri_node = nokogiri_node @ruby_code_string = ruby_code @line = line end |
Instance Attribute Details
#line ⇒ Object (readonly)
Returns the value of attribute line.
8 9 10 |
# File 'lib/a11y/lint/erb_node.rb', line 8 def line @line end |
Instance Method Details
#attribute?(name) ⇒ Boolean
20 21 22 |
# File 'lib/a11y/lint/erb_node.rb', line 20 def attribute?(name) attributes.key?(name) end |
#attributes ⇒ Object
24 25 26 |
# File 'lib/a11y/lint/erb_node.rb', line 24 def attributes @attributes ||= extract_attributes end |
#children ⇒ Object
Returns direct element children wrapped as ErbNode objects.
33 34 35 36 37 38 39 |
# File 'lib/a11y/lint/erb_node.rb', line 33 def children return [] unless @nokogiri_node @nokogiri_node.element_children.map do |child| ErbNode.new(nokogiri_node: child, line: child.line) end end |
#ruby_code ⇒ Object
28 29 30 |
# File 'lib/a11y/lint/erb_node.rb', line 28 def ruby_code @ruby_code_string end |
#tag_name ⇒ Object
16 17 18 |
# File 'lib/a11y/lint/erb_node.rb', line 16 def tag_name @nokogiri_node&.name end |