class AgentClient::Agent

Represents an Indigo agent

Attributes

url[R]

Public Class Methods

load(url) click to toggle source
# File lib/agent_client/agent.rb, line 24
def self.load(url)
  result = get(url)
  instance = new(url)

  process_list = result['processes']
  raise('Agent has not sent the processes') if process_list.nil?

  if process_list.respond_to?('each')
    process_list.each do |pname, pcontent|
      instance.add_new_process(pname, pcontent)
    end
  end
  instance
end
new(url) click to toggle source
# File lib/agent_client/agent.rb, line 47
def initialize(url)
  @url = url
  @processes = {}
end

Public Instance Methods

add_new_process(name, content) click to toggle source
# File lib/agent_client/agent.rb, line 52
def add_new_process(name, content)
  process = Process.new(url,
                        name,
                        content['processInfo'],
                        content['storeInfo'])
  @processes[name] = process
end
get(process_name) click to toggle source
# File lib/agent_client/agent.rb, line 43
def get(process_name)
  @processes[process_name]
end
list_processes() click to toggle source
# File lib/agent_client/agent.rb, line 39
def list_processes
  @processes.values
end