Method: Tensorflow::Graph::FunctionDef#wrap_ruby_method

Defined in:
lib/tensorflow/graph/function_def.rb

#wrap_ruby_methodObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/tensorflow/graph/function_def.rb', line 28

def wrap_ruby_method
  new_name = self.aliased_name
  original_name = self.ruby_method.original_name
  self.ruby_method.owner.instance_eval do
    alias_method(new_name, original_name)
  end

  this = self
  original_name = ruby_method.original_name
  self.ruby_method.owner.instance_eval do
    define_method(original_name) do |*args|
      function = this.build_function(self)
      ExecutionContext.current.add_function(function)
      function
    end
  end
end