class AlsoEnergy::Client

Attributes

password[RW]
session_id[RW]
username[RW]

Public Class Methods

new() { |self| ... } click to toggle source
# File lib/also_energy/client.rb, line 16
def initialize
  yield(self) if block_given?
end

Public Instance Methods

get_site_hardware(site_id) click to toggle source
# File lib/also_energy/client.rb, line 40
def get_site_hardware(site_id)
  message = { 'als:sessionID' => session_id, 'als:siteID' => site_id }
  response = find_in_hash(:hardware_complete, (connection.call(:get_site_hardware_list, message: message).body))
  if response.nil?
    fail QueryError, 'Query Failed!'
  else
    response.each { |hw| hw[:session_id] = session_id }.map { |hw| AlsoEnergy::HardWare.new(hw) }
  end
end
get_sites() click to toggle source
# File lib/also_energy/client.rb, line 30
def get_sites
  message = { 'als:sessionID' => session_id }
  response = find_in_hash(:items, (connection.call(:get_site_list, message: message).body))
  if response.nil?
    fail QueryError, 'Query Failed!'
  else
    response.map { |site| AlsoEnergy::Site.new(site[1]) }
  end
end
login() click to toggle source
# File lib/also_energy/client.rb, line 20
def login
  message = { 'als:username' => username, 'als:password' => password }
  response = find_in_hash(:session_id, (connection.call(:login, message: message).body))
  if response.nil?
    fail AuthError, 'Login Failed!'
  else
    self.session_id = response
  end
end