Class: VisualizeRuby::AstHelper

Inherits:
Object
  • Object
show all
Defined in:
lib/visualize_ruby/ast_helper.rb

Instance Method Summary collapse

Constructor Details

#initialize(ast) ⇒ AstHelper

Returns a new instance of AstHelper.



3
4
5
# File 'lib/visualize_ruby/ast_helper.rb', line 3

def initialize(ast)
  @ast = ast
end

Instance Method Details

#descriptionObject



7
8
9
10
# File 'lib/visualize_ruby/ast_helper.rb', line 7

def description
  return @ast unless @ast.respond_to?(:type)
  Unparser.unparse(@ast)
end

#first_lineObject



16
17
18
19
# File 'lib/visualize_ruby/ast_helper.rb', line 16

def first_line
  return unless @ast
  @ast.location.first_line
end

#id(description: self.description) ⇒ Object



12
13
14
# File 'lib/visualize_ruby/ast_helper.rb', line 12

def id(description: self.description)
  description.to_s + " L#{[@ast.location.first_line, @ast.location.last_line].compact.uniq.join("-")}"
end