Class: RSpock::AST::MethodCallToLVarTransformation

Inherits:
ASTTransform::AbstractTransformation
  • Object
show all
Defined in:
lib/rspock/ast/method_call_to_lvar_transformation.rb

Instance Method Summary collapse

Constructor Details

#initialize(*method_symbols) ⇒ MethodCallToLVarTransformation

Returns a new instance of MethodCallToLVarTransformation.



7
8
9
10
11
# File 'lib/rspock/ast/method_call_to_lvar_transformation.rb', line 7

def initialize(*method_symbols)
  @method_call_nodes = method_symbols.map { |method_sym|
    s(:send, nil, method_sym)
  }
end

Instance Method Details

#method_call_node?(node) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/rspock/ast/method_call_to_lvar_transformation.rb', line 19

def method_call_node?(node)
  @method_call_nodes.include?(node)
end

#on_send(node) ⇒ Object



13
14
15
16
17
# File 'lib/rspock/ast/method_call_to_lvar_transformation.rb', line 13

def on_send(node)
  return super unless method_call_node?(node)

  node.updated(:lvar, [node.children[1]])
end