Class: IRuby::PlainBackend

Inherits:
Object
  • Object
show all
Includes:
History
Defined in:
lib/iruby/backend.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializePlainBackend

Returns a new instance of PlainBackend.



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/iruby/backend.rb', line 43

def initialize
  require 'irb'
  require 'irb/completion'
  IRB.setup(nil)
  @main = TOPLEVEL_BINDING.eval("self").dup
  init_main_object(@main)
  @workspace = IRB::WorkSpace.new(@main)
  @irb = IRB::Irb.new(@workspace)
  @eval_path = @irb.context.irb_path
  IRB.conf[:MAIN_CONTEXT] = @irb.context
end

Instance Attribute Details

#eval_pathObject (readonly)

Returns the value of attribute eval_path.



40
41
42
# File 'lib/iruby/backend.rb', line 40

def eval_path
  @eval_path
end

Instance Method Details

#complete(code) ⇒ Object



64
65
66
# File 'lib/iruby/backend.rb', line 64

def complete(code)
  IRB::InputCompletor::CompletionProc.call(code)
end

#eval(code, store_history) ⇒ Object



59
60
61
62
# File 'lib/iruby/backend.rb', line 59

def eval(code, store_history)
  @irb.context.evaluate(@irb.build_statement(code), 0)
  @irb.context.last_value unless IRuby.silent_assignment && assignment_expression?(code)
end

#eval_bindingObject



55
56
57
# File 'lib/iruby/backend.rb', line 55

def eval_binding
  @workspace.binding
end