method

render_calls

render_calls()
public

No documentation available.

# File actionview/lib/action_view/render_parser/prism_render_parser.rb, line 6
      def render_calls
        queue = [Prism.parse(@code).value]
        templates = []

        while (node = queue.shift)
          queue.concat(node.compact_child_nodes)
          next unless node.is_a?(Prism::CallNode)

          options = render_call_options(node)
          next unless options

          render_type = (options.keys & RENDER_TYPE_KEYS)[0]
          template, object_template = render_call_template(options[render_type])
          next unless template

          if options.key?(:object) || options.key?(:collection) || object_template
            next if options.key?(:object) && options.key?(:collection)
            next unless options.key?(:partial)
          end

          if options[:spacer_template].is_a?(Prism::StringNode)
            templates << partial_to_virtual_path(:partial, options[:spacer_template].unescaped)
          end

          templates << partial_to_virtual_path(render_type, template)

          if render_type != :layout && options[:layout].is_a?(Prism::StringNode)
            templates << partial_to_virtual_path(:layout, options[:layout].unescaped)
          end
        end

        templates
      end