Class: DissociatedIntrospection::MethodInLiner

Inherits:
Object
  • Object
show all
Defined in:
lib/dissociated_introspection/method_in_liner.rb

Defined Under Namespace

Classes: InLiner

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ruby_code, defs:) ⇒ MethodInLiner

Returns a new instance of MethodInLiner.



6
7
8
9
# File 'lib/dissociated_introspection/method_in_liner.rb', line 6

def initialize(ruby_code, defs:)
  @defs      = defs
  @ruby_code = ruby_code
end

Instance Attribute Details

#defsObject (readonly)

Returns the value of attribute defs.



3
4
5
# File 'lib/dissociated_introspection/method_in_liner.rb', line 3

def defs
  @defs
end

#ruby_codeObject (readonly)

Returns the value of attribute ruby_code.



3
4
5
# File 'lib/dissociated_introspection/method_in_liner.rb', line 3

def ruby_code
  @ruby_code
end

Instance Method Details

#in_lineDissociatedIntrospection::RubyCode



12
13
14
15
16
17
# File 'lib/dissociated_introspection/method_in_liner.rb', line 12

def in_line
  rewriter      = InLiner.new
  rewriter.defs = defs
  result        = rewriter.process(ruby_code.ast)
  RubyCode.build_from_ast(result)
end