Class: HamlLint::Tree::ScriptNode

Inherits:
Node
  • Object
show all
Defined in:
lib/haml_lint/tree/script_node.rb

Overview

Represents a node which produces output based on Ruby code.

Instance Attribute Summary

Attributes inherited from Node

#children, #line, #parent, #type

Instance Method Summary collapse

Methods inherited from Node

#comment_configuration, #directives, #disabled?, #each, #initialize, #inspect, #keyword, #line_numbers, #lines, #next_node, #predecessor, #source_code, #subsequents, #successor, #text

Constructor Details

This class inherits a constructor from HamlLint::Tree::Node

Instance Method Details

#parsed_scriptParsedRuby

The Ruby script contents parsed into a syntax tree.

Returns:

  • (ParsedRuby)

    syntax tree in the form returned by Parser gem



11
12
13
14
15
16
17
18
19
# File 'lib/haml_lint/tree/script_node.rb', line 11

def parsed_script
  statement =
    if children.empty?
      script
    else
      "#{script}#{@value[:keyword] == 'case' ? ';when 0;end' : ';end'}"
    end
  HamlLint::ParsedRuby.new(HamlLint::RubyParser.new.parse(statement))
end

#scriptString

Returns the source for the script following the ‘-` marker.

Returns:

  • (String)


24
25
26
# File 'lib/haml_lint/tree/script_node.rb', line 24

def script
  @value[:text]
end