class Arql::Repl

Public Class Methods

new() click to toggle source
# File lib/arql/repl.rb, line 8
def initialize
  Pry.config.prompt = Pry::Prompt.new("", "", prompt)
  Pry.start
end

Public Instance Methods

inspect() click to toggle source
# File lib/arql/repl.rb, line 17
def inspect
  to_s
end
main_object() click to toggle source
# File lib/arql/repl.rb, line 13
def main_object
  return @main if @main
  @main = Object.new
  @main.instance_eval do
    def inspect
      to_s
    end
    def to_s
      "main"
    end
  end
  @main
end
prompt() click to toggle source
# File lib/arql/repl.rb, line 27
def prompt
  [proc do |obj, nest_level, pry_instance|
     if obj == main_object && nest_level == 0
       nest_level_prompt = ''
     else
       nest_level_prompt = if nest_level.zero?
                             "(#{obj})"
                           else
                             "(#{obj}:#{nest_level})"
                           end
     end
     "%s#{Rainbow('@').green}%s#{nest_level_prompt} [%d] %s " % [Rainbow('ARQL').red, Rainbow(App.prompt).yellow, pry_instance.input_ring.count, Rainbow('❯').green]
   end]
end
to_s() click to toggle source
# File lib/arql/repl.rb, line 20
def to_s
  "main"
end