Class: CodeMiner::BodystmtExpression

Inherits:
Expression show all
Defined in:
lib/codeminer/expressions/bodystmt_expression.rb

Instance Attribute Summary collapse

Attributes inherited from Expression

#args, #block, #delimiter, #src, #token

Instance Method Summary collapse

Methods inherited from Expression

not_implemented

Methods included from SourceExtract::Usage

#adjust_src, #column, #column=, #end_column, #end_column=, #end_line, #end_line=, #line, #line=, #src, #src_extract

Constructor Details

#initialize(body, rescue_exp, else_exp, ensure_exp, src:) ⇒ BodystmtExpression

Returns a new instance of BodystmtExpression.



7
8
9
10
11
12
13
# File 'lib/codeminer/expressions/bodystmt_expression.rb', line 7

def initialize(body, rescue_exp, else_exp, ensure_exp, src:)
  @body = body
  @rescue = rescue_exp
  @ensure = ensure_exp
  @else = else_exp
  @src = src
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



5
6
7
# File 'lib/codeminer/expressions/bodystmt_expression.rb', line 5

def body
  @body
end

#elseObject (readonly)

Returns the value of attribute else.



5
6
7
# File 'lib/codeminer/expressions/bodystmt_expression.rb', line 5

def else
  @else
end

#ensureObject (readonly)

Returns the value of attribute ensure.



5
6
7
# File 'lib/codeminer/expressions/bodystmt_expression.rb', line 5

def ensure
  @ensure
end

#rescueObject (readonly)

Returns the value of attribute rescue.



5
6
7
# File 'lib/codeminer/expressions/bodystmt_expression.rb', line 5

def rescue
  @rescue
end

#valueObject (readonly)

Returns the value of attribute value.



5
6
7
# File 'lib/codeminer/expressions/bodystmt_expression.rb', line 5

def value
  @value
end

Instance Method Details

#eachObject



19
20
21
# File 'lib/codeminer/expressions/bodystmt_expression.rb', line 19

def each
  [*body.each, *[@rescue, @else, @ensure].compact]
end

#typeObject



15
16
17
# File 'lib/codeminer/expressions/bodystmt_expression.rb', line 15

def type
  :bodystmt
end