Class: Decode::Language::Ruby::Segment

Inherits:
Segment
  • Object
show all
Defined in:
lib/decode/language/ruby/segment.rb

Overview

A Ruby specific code segment.

Instance Attribute Summary collapse

Attributes inherited from Segment

#comments, #language

Instance Method Summary collapse

Methods inherited from Segment

#documentation

Constructor Details

#initialize(comments, language, node, **options) ⇒ Segment

Returns a new instance of Segment.



13
14
15
16
17
18
# File 'lib/decode/language/ruby/segment.rb', line 13

def initialize(comments, language, node, **options)
	super(comments, language, **options)
	
	@node = node
	@expression = node.location.expression
end

Instance Attribute Details

#nodeObject (readonly)

The parser syntax tree node.



21
22
23
# File 'lib/decode/language/ruby/segment.rb', line 21

def node
  @node
end

Instance Method Details

#codeObject

The source code trailing the comments.



29
30
31
# File 'lib/decode/language/ruby/segment.rb', line 29

def code
	@expression.source
end

#expand(node) ⇒ Object



23
24
25
# File 'lib/decode/language/ruby/segment.rb', line 23

def expand(node)
	@expression = @expression.join(node.location.expression)
end