class KayakoClient::TicketCount

Public Class Methods

get(options = {}) click to toggle source
# File lib/kayako_client/ticket_count.rb, line 125
def self.get(options = {})
    unless configured? || (options[:api_url] && options[:api_key] && options[:secret_key])
        raise RuntimeError, "client not configured"
    end
    log = options[:logger] || logger
    response = get_request(options)
    if response.is_a?(KayakoClient::HTTPOK)
        if log
            log.debug "Response:"
            log.debug response.body
        end
        payload = xml_backend.new(response.body, { :logger => log })
        object = new(payload.to_hash.merge(inherited_options(options)))
        object.loaded!
        log.info ":get successful" if log
        object
    else
        log.error "Response: #{response.status} #{response.body}" if log
        raise StandardError, "server returned #{response.status}: #{response.body}"
    end
end
new(*args) click to toggle source
Calls superclass method KayakoClient::Base::new
# File lib/kayako_client/ticket_count.rb, line 101
def initialize(*args)
    options = args.last.is_a?(Hash) ? args.last : {}
    super(*args)
    if !caller[1].match(%r{/ticket_count\.rb:[0-9]+:in `[^']+'}) &&
        !options[:departments] && !options[:statuses] && !options[:owners] && !options[:unassigned]
        raise RuntimeError, "client not configured" unless configured?
        response = self.class.get_request(options.merge(inherited_options))
        if response.is_a?(KayakoClient::HTTPOK)
            if logger
                logger.debug "Response:"
                logger.debug response.body
            end
            payload = xml_backend.new(response.body, { :logger => logger })
            clean
            import(payload.to_hash)
            loaded!
            logger.info ":get) successful" if logger
        else
            logger.error "Response: #{response.status} #{response.body}" if logger
            raise StandardError, "server returned #{response.status}: #{response.body}"
        end
    end
end