class Rapel::Expression

Public Class Methods

new(exp) click to toggle source
# File lib/rapel/expression.rb, line 4
def initialize(exp)
  @expression = exp
end

Public Instance Methods

evaluate(context) { |result| ... } click to toggle source
# File lib/rapel/expression.rb, line 8
def evaluate(context)
  $stdout.puts("Evaluating #{self.inspect} within #{context.inspect}")
  result = {session_id: context.session_id}
  begin
    context.socket.puts(Rapel.escape_newlines(@expression))
    value = context.socket.gets.chomp
    result[:result] = Rapel.unescape_newlines(value)
  rescue Exception => e
    $stdout.puts e
    result[:result] = ""
    result[:error] = e.message
  end
  $stdout.puts "Received #{value.inspect} from #{context.inspect}"

  yield result
end
inspect() click to toggle source
# File lib/rapel/expression.rb, line 25
def inspect
  @expression.inspect
end