Class: Herb::Engine::Validator
Instance Attribute Summary collapse
Instance Method Summary
collapse
-
#clear_diagnostics ⇒ Object
-
#diagnostic_count(severity = nil) ⇒ Object
-
#enabled? ⇒ Boolean
-
#error(message, location, code: nil, source: nil) ⇒ Object
-
#errors ⇒ Object
-
#errors? ⇒ Boolean
-
#hint(message, location, code: nil, source: nil) ⇒ Object
-
#info(message, location, code: nil, source: nil) ⇒ Object
-
#initialize(enabled: true) ⇒ Validator
constructor
A new instance of Validator.
-
#validate(node) ⇒ Object
-
#warning(message, location, code: nil, source: nil) ⇒ Object
-
#warnings ⇒ Object
-
#warnings? ⇒ Boolean
Methods inherited from Visitor
#visit, #visit_all, #visit_cdata_node, #visit_child_nodes, #visit_document_node, #visit_erb_begin_node, #visit_erb_block_node, #visit_erb_case_match_node, #visit_erb_case_node, #visit_erb_content_node, #visit_erb_else_node, #visit_erb_end_node, #visit_erb_ensure_node, #visit_erb_for_node, #visit_erb_if_node, #visit_erb_in_node, #visit_erb_node, #visit_erb_open_tag_node, #visit_erb_render_node, #visit_erb_rescue_node, #visit_erb_strict_locals_node, #visit_erb_unless_node, #visit_erb_until_node, #visit_erb_when_node, #visit_erb_while_node, #visit_erb_yield_node, #visit_html_attribute_name_node, #visit_html_attribute_node, #visit_html_attribute_value_node, #visit_html_close_tag_node, #visit_html_comment_node, #visit_html_conditional_element_node, #visit_html_conditional_open_tag_node, #visit_html_doctype_node, #visit_html_element_node, #visit_html_omitted_close_tag_node, #visit_html_open_tag_node, #visit_html_text_node, #visit_html_virtual_close_tag_node, #visit_literal_node, #visit_node, #visit_ruby_html_attributes_splat_node, #visit_ruby_literal_node, #visit_ruby_parameter_node, #visit_ruby_render_keywords_node, #visit_ruby_render_local_node, #visit_whitespace_node, #visit_xml_declaration_node
#erb_comment?, #erb_graphql?, #erb_output?, #erb_outputs?, #inline_ruby_comment?
Constructor Details
#initialize(enabled: true) ⇒ Validator
Returns a new instance of Validator.
8
9
10
11
12
13
|
# File 'lib/herb/engine/validator.rb', line 8
def initialize(enabled: true)
super()
@enabled = enabled
@diagnostics = []
end
|
Instance Attribute Details
#diagnostics ⇒ Object
Returns the value of attribute diagnostics.
6
7
8
|
# File 'lib/herb/engine/validator.rb', line 6
def diagnostics
@diagnostics
end
|
#enabled ⇒ Object
Returns the value of attribute enabled.
6
7
8
|
# File 'lib/herb/engine/validator.rb', line 6
def enabled
@enabled
end
|
Instance Method Details
#clear_diagnostics ⇒ Object
55
56
57
|
# File 'lib/herb/engine/validator.rb', line 55
def clear_diagnostics
@diagnostics.clear
end
|
#diagnostic_count(severity = nil) ⇒ Object
59
60
61
62
63
|
# File 'lib/herb/engine/validator.rb', line 59
def diagnostic_count(severity = nil)
return @diagnostics.length unless severity
@diagnostics.count { |diagnostic| diagnostic[:severity] == severity }
end
|
#enabled? ⇒ Boolean
15
16
17
|
# File 'lib/herb/engine/validator.rb', line 15
def enabled?
@enabled
end
|
#error(message, location, code: nil, source: nil) ⇒ Object
23
24
25
|
# File 'lib/herb/engine/validator.rb', line 23
def error(message, location, code: nil, source: nil)
add_diagnostic(message, location, :error, code: code, source: source)
end
|
#errors ⇒ Object
47
48
49
|
# File 'lib/herb/engine/validator.rb', line 47
def errors
@diagnostics.select { |diagnostic| diagnostic[:severity] == :error }
end
|
#errors? ⇒ Boolean
39
40
41
|
# File 'lib/herb/engine/validator.rb', line 39
def errors?
@diagnostics.any? { |diagnostic| diagnostic[:severity] == :error }
end
|
#hint(message, location, code: nil, source: nil) ⇒ Object
35
36
37
|
# File 'lib/herb/engine/validator.rb', line 35
def hint(message, location, code: nil, source: nil)
add_diagnostic(message, location, :hint, code: code, source: source)
end
|
#info(message, location, code: nil, source: nil) ⇒ Object
31
32
33
|
# File 'lib/herb/engine/validator.rb', line 31
def info(message, location, code: nil, source: nil)
add_diagnostic(message, location, :info, code: code, source: source)
end
|
#validate(node) ⇒ Object
19
20
21
|
# File 'lib/herb/engine/validator.rb', line 19
def validate(node)
visit(node)
end
|
#warning(message, location, code: nil, source: nil) ⇒ Object
27
28
29
|
# File 'lib/herb/engine/validator.rb', line 27
def warning(message, location, code: nil, source: nil)
add_diagnostic(message, location, :warning, code: code, source: source)
end
|
#warnings ⇒ Object
51
52
53
|
# File 'lib/herb/engine/validator.rb', line 51
def warnings
@diagnostics.select { |diagnostic| diagnostic[:severity] == :warning }
end
|
#warnings? ⇒ Boolean
43
44
45
|
# File 'lib/herb/engine/validator.rb', line 43
def warnings?
@diagnostics.any? { |diagnostic| diagnostic[:severity] == :warning }
end
|