Class: Herb::ActionView::RenderCallVisitor
- Defined in:
- lib/herb/action_view/render_analyzer.rb
Instance Attribute Summary collapse
-
#render_calls ⇒ Object
readonly
Returns the value of attribute render_calls.
Instance Method Summary collapse
-
#initialize(file) ⇒ RenderCallVisitor
constructor
A new instance of RenderCallVisitor.
- #visit_erb_render_node(node) ⇒ Object
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_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
Methods included from Herb::AST::Helpers
#erb_comment?, #erb_graphql?, #erb_output?, #erb_outputs?, #inline_ruby_comment?
Constructor Details
#initialize(file) ⇒ RenderCallVisitor
Returns a new instance of RenderCallVisitor.
1027 1028 1029 1030 |
# File 'lib/herb/action_view/render_analyzer.rb', line 1027 def initialize(file) @file = file @render_calls = [] end |
Instance Attribute Details
#render_calls ⇒ Object (readonly)
Returns the value of attribute render_calls.
1025 1026 1027 |
# File 'lib/herb/action_view/render_analyzer.rb', line 1025 def render_calls @render_calls end |
Instance Method Details
#visit_erb_render_node(node) ⇒ Object
1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 |
# File 'lib/herb/action_view/render_analyzer.rb', line 1032 def visit_erb_render_node(node) call = { file: @file } call[:partial] = node.partial_path if node.static_partial? call[:template_path] = node.template_name if node.template_name call[:layout] = node.layout_name if node.layout_name call[:file_path] = node.keywords&.file&.value if node.keywords&.file call[:inline] = true if node.keywords&.inline_template call[:renderable] = node.keywords&.renderable&.value if node.keywords&.renderable call[:dynamic] = true if node.dynamic? call[:body] = true if node.keywords&.body call[:plain] = true if node.keywords&.plain call[:html] = true if node.keywords&.html if node.location call[:location] = "#{node.location.start.line}:#{node.location.start.column}" end @render_calls << call super end |