Class: TorqueBox::Console::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/torquebox/console/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(console_id, input_queue, output_queue, application, runtime) ⇒ Server

Returns a new instance of Server.



23
24
25
26
27
28
29
# File 'lib/torquebox/console/server.rb', line 23

def initialize(console_id, input_queue, output_queue, application, runtime)
  @console_id = console_id
  @input_queue = input_queue
  @output_queue = output_queue
  @application = application
  @runtime = runtime
end

Instance Attribute Details

#applicationObject

Returns the value of attribute application.



21
22
23
# File 'lib/torquebox/console/server.rb', line 21

def application
  @application
end

#console_idObject

Returns the value of attribute console_id.



21
22
23
# File 'lib/torquebox/console/server.rb', line 21

def console_id
  @console_id
end

#input_queueObject

Returns the value of attribute input_queue.



21
22
23
# File 'lib/torquebox/console/server.rb', line 21

def input_queue
  @input_queue
end

#output_queueObject

Returns the value of attribute output_queue.



21
22
23
# File 'lib/torquebox/console/server.rb', line 21

def output_queue
  @output_queue
end

#runtimeObject

Returns the value of attribute runtime.



21
22
23
# File 'lib/torquebox/console/server.rb', line 21

def runtime
  @runtime
end

Instance Method Details

#evaluate(code) ⇒ Object



53
54
55
56
# File 'lib/torquebox/console/server.rb', line 53

def evaluate( code )
  binding = TorqueBox::Console::Builtin.create_block.binding
  eval( code, binding )
end

#puts(output = "") ⇒ Object

Pry output channel



49
50
51
# File 'lib/torquebox/console/server.rb', line 49

def puts( output = "" )
  output_queue.publish output.to_s
end

#readline(prompt) ⇒ Object

Pry input channel



41
42
43
44
45
46
# File 'lib/torquebox/console/server.rb', line 41

def readline( prompt )
  # First send the repl prompt to the client
  output_queue.publish prompt, {:properties => {'prompt' => 'true'}}
  # Then wait for input
  input_queue.receive
end

#run(entry_point) ⇒ Object



31
32
33
34
35
36
37
38
# File 'lib/torquebox/console/server.rb', line 31

def run( entry_point )
  Thread.new do
    Pry.config.pager  = false
    #Pry.config.color  = false
    Pry.config.prompt = proc { "TorqueBox (#{application}, #{runtime})> " }
    Pry.start entry_point, :input => self, :output => self
  end
end

#tty?Boolean

Pry (undocumented?) requires this

Returns:

  • (Boolean)


59
60
61
# File 'lib/torquebox/console/server.rb', line 59

def tty?
  false
end