Class: Giraffi::Client

Inherits:
Object
  • Object
show all
Includes:
Applogs, Axions, Items, Logs, Media, Monitoringdata, MyCurrentStatus, Regions, Services, Trends, Triggers, HTTParty, MultiJson
Defined in:
lib/giraffi/client.rb,
lib/giraffi/client/logs.rb,
lib/giraffi/client/items.rb,
lib/giraffi/client/media.rb,
lib/giraffi/client/axions.rb,
lib/giraffi/client/trends.rb,
lib/giraffi/client/applogs.rb,
lib/giraffi/client/regions.rb,
lib/giraffi/client/services.rb,
lib/giraffi/client/triggers.rb,
lib/giraffi/client/monitoringdata.rb,
lib/giraffi/client/my_current_status.rb

Overview

Warpper for the Giraffi RESTful API

Defined Under Namespace

Modules: Applogs, Axions, Items, Logs, Media, Monitoringdata, MyCurrentStatus, Regions, Services, Trends, Triggers

Instance Method Summary collapse

Methods included from Triggers

#destroy_trigger, #execute_axions_by_trigger, #find_axions_by_trigger, #find_trigger, #find_triggers, #remove_axion_from_trigger, #update_axion_of_trigger, #update_trigger

Methods included from Trends

#find_average_trends, #find_failure_trends

Methods included from Regions

#find_regions

Methods included from MyCurrentStatus

#my_current_status

Methods included from Monitoringdata

#add_monitoringdata, #find_monitoringdata

Methods included from Logs

#count_axion_logs, #find_axion_logs

Methods included from Applogs

#add_applogs, #find_applogs

Methods included from Axions

#add_medium_to_axion, #create_axion, #destroy_axion, #execute_axion, #find_axion, #find_axions, #find_media_by_axion, #remove_medium_from_axion, #update_axion

Methods included from Media

#create_medium, #destroy_medium, #find_media, #find_medium, #find_oauth_by_medium, #find_oauth_callback_by_medium, #update_medium

Methods included from Services

#add_trigger_to_service, #destroy_service, #find_region_by_service, #find_service, #find_services, #find_triggers_by_service, #remove_trigger_from_service, #update_region_of_service, #update_service

Methods included from Items

#add_service_to_item, #create_item, #destroy_item, #find_agent, #find_item, #find_items, #find_services_by_item, #reload_items, #remove_service_from_item, #update_item

Constructor Details

#initialize(attrs = {}) ⇒ Giraffi::Client

Initializes a new API object

Parameters:

  • attrs (Hash) (defaults to: {})

    The options allows you to access the Giraffi RESTful API



58
59
60
61
62
63
# File 'lib/giraffi/client.rb', line 58

def initialize(attrs={})
  attrs = Giraffi.options.merge(attrs)
  Config::VALID_OPTIONS_KEYS.each do |key|
    instance_variable_set("@#{key}".to_sym, attrs[key])
  end
end

Instance Method Details

#bad_response(response) ⇒ Object

Examines a bad response and raise an appropriate error

Parameters:

  • response (HTTParty::Response)

Raises:

  • (StandardError)


47
48
49
50
51
52
# File 'lib/giraffi/client.rb', line 47

def bad_response(response)
  if response.class == HTTParty::Response
    raise ResponseError, response
  end
  raise StandardError, "Unknown error"
end

#to_uri(key) ⇒ String

Returns the URL related to the given key

Parameters:

  • options (Symbol)

    The keyword related to the real URI

Returns:

  • (String)

    URI or nil when no matching value



69
70
71
# File 'lib/giraffi/client.rb', line 69

def to_uri(key)
  {papi: endpoint,okapi: monitoringdata_endpoint,lapi: applogs_endpoint}[key] || nil
end