class Ray::Ray

Public Class Methods

new(settings, client = nil) click to toggle source
# File lib/ray.rb, line 34
def initialize(settings, client = nil)
  @uuid = SecureRandom.uuid
  @client = client || Client.new(settings[:port], settings[:host])
end

Public Instance Methods

blue() click to toggle source
# File lib/ray.rb, line 55
def blue
  color 'blue'
end
caller() click to toggle source
# File lib/ray.rb, line 127
def caller
  location = caller_locations[1]

  if (! location)
    payload = Payloads::CustomPayload.new('Called at top level', 'Caller')

    send_request payload

    return self
  end

  payload = Payloads::CallerPayload.new(location)

  send_request payload
end
class_name(anything) click to toggle source
# File lib/ray.rb, line 123
def class_name(anything)
  send_custom(anything.class.to_s, 'Class name')
end
clear_screen() click to toggle source
# File lib/ray.rb, line 77
def clear_screen
  self.new_screen
end
color(color) click to toggle source
# File lib/ray.rb, line 111
def color(color)
  payload = Payloads::ColorPayload.new(color)

  send_request payload
end
gray() click to toggle source
# File lib/ray.rb, line 59
def gray
  color 'gray'
end
green() click to toggle source
# File lib/ray.rb, line 39
def green
  color 'green'
end
hide() click to toggle source
# File lib/ray.rb, line 87
def hide
  payload = Payloads::HidePayload.new

  send_request payload
end
hide_app() click to toggle source
# File lib/ray.rb, line 99
def hide_app
  payload = Payloads::HideAppPayload.new

  send_request payload
end
large() click to toggle source
# File lib/ray.rb, line 67
def large
  size 'lg'
end
new_screen(name = '') click to toggle source
# File lib/ray.rb, line 71
def new_screen(name = '')
  payload = Payloads::NewScreenPayload.new(name)

  send_request payload
end
notify(text) click to toggle source
# File lib/ray.rb, line 81
def notify(text)
  payload = Payloads::NotifyPayload.new(text)

  send_request payload
end
orange() click to toggle source
# File lib/ray.rb, line 43
def orange
  color 'orange'
end
pass(argument) click to toggle source
# File lib/ray.rb, line 157
def pass(argument)
  send argument

  return argument
end
pause() click to toggle source
# File lib/ray.rb, line 163
def pause
  lockName = rand(10 ** 12).to_s

  payload = Payloads::CreateLockPayload.new(lockName)

  send_request payload

  loop do
    sleep(1)
    if (!@client.lock_exists lockName)
      break
    end
  end

  return self
end
purple() click to toggle source
# File lib/ray.rb, line 51
def purple
  color 'purple'
end
red() click to toggle source
# File lib/ray.rb, line 47
def red
  color 'red'
end
remove() click to toggle source
# File lib/ray.rb, line 93
def remove
  payload = Payloads::RemovePayload.new

  send_request payload
end
send(*args) click to toggle source
# File lib/ray.rb, line 186
def send(*args)
  send_request PayloadFactory.create_for_values(args)
end
send_custom(content, label = '') click to toggle source
# File lib/ray.rb, line 180
def send_custom(content, label = '')
  payload = Payloads::CustomPayload.new(content, label)

  send_request payload
end
send_request(payloads) click to toggle source
# File lib/ray.rb, line 190
def send_request(payloads)
  payloads = Array(payloads)

  meta = {
    ruby_ray_version: 'ray version here'
  }

  request = Request.new(@uuid, payloads, meta)

  @client.send(request)

  return self
end
show_app() click to toggle source
# File lib/ray.rb, line 105
def show_app
  payload = Payloads::ShowAppPayload.new

  send_request payload
end
size(size) click to toggle source
# File lib/ray.rb, line 117
def size(size)
  payload = Payloads::SizePayload.new(size)

  send_custom payload
end
small() click to toggle source
# File lib/ray.rb, line 63
def small
  size 'sm'
end
to_json(*args) click to toggle source
# File lib/ray.rb, line 149
def to_json(*args)
  payloads = args.map do |arg|
    Payloads::JsonStringPayload.new(arg)
  end

  send_request payloads
end
trace() click to toggle source
# File lib/ray.rb, line 143
def trace
  payload = Payloads::TracePayload.new caller_locations

  send_request payload
end