class CiscoSpark::Api

Attributes

params[RW]
request_body[RW]
resource[RW]

Public Instance Methods

delete(resource) click to toggle source
# File lib/cisco_spark/api.rb, line 29
def delete(resource)
  @resource = resource

  do_delete
end
get(resource, params={}) click to toggle source
# File lib/cisco_spark/api.rb, line 8
def get(resource, params={})
  @resource = resource
  @params = params

  do_get
end
post(resource, request_body={}) click to toggle source
# File lib/cisco_spark/api.rb, line 15
def post(resource, request_body={})
  @resource = resource
  @request_body = request_body

  do_post
end
put(resource, request_body={}) click to toggle source
# File lib/cisco_spark/api.rb, line 22
def put(resource, request_body={})
  @resource = resource
  @request_body = request_body

  do_put
end

Private Instance Methods

debug(object) click to toggle source
# File lib/cisco_spark/api.rb, line 88
def debug(object)
  puts "|============ Api debug ============ |"
  puts "  -> request_uri: #{request_uri.inspect}"
  puts "  -> object: #{object.inspect}"
  puts "|============ Api debug ============ |"
end
do_delete() click to toggle source
# File lib/cisco_spark/api.rb, line 37
def do_delete
  delete_request = request(Net::HTTP::Delete)
  response = http_client.request(delete_request)
  debug(response) if CiscoSpark.debug

  response.is_a?(Net::HTTPSuccess)
end
do_get() click to toggle source
# File lib/cisco_spark/api.rb, line 45
def do_get
  get_request = request(Net::HTTP::Get)
  response = http_client.request(get_request)
  debug(response) if CiscoSpark.debug

  response
end
do_post() click to toggle source
# File lib/cisco_spark/api.rb, line 53
def do_post
  post_request = request(Net::HTTP::Post)
  post_request.set_form_data(request_body)
  debug(post_request) if CiscoSpark.debug

  response = http_client.request(post_request)
  debug(response) if CiscoSpark.debug

  response
end
do_put() click to toggle source
# File lib/cisco_spark/api.rb, line 64
def do_put
  post_request = request(Net::HTTP::Put)
  post_request.set_form_data(request_body)
  debug(post_request) if CiscoSpark.debug

  response = http_client.request(post_request)
  debug(response) if CiscoSpark.debug

  response
end
domain() click to toggle source
# File lib/cisco_spark/api.rb, line 113
def domain
  @domain ||= URI.join("#{CiscoSpark.api_protocol}://#{CiscoSpark.api_domain}")
end
http_client() click to toggle source
# File lib/cisco_spark/api.rb, line 75
def http_client
  client = Net::HTTP.new(request_uri.host, request_uri.port)
  client.use_ssl = (request_uri.scheme == "https")
  client
end
request(request_class) click to toggle source
# File lib/cisco_spark/api.rb, line 81
def request(request_class)
  request = request_class.new(request_uri)
  request['Content-type'] = "application/json; charset=utf-8"
  request['Authorization'] = "Bearer #{CiscoSpark.api_key}"
  request
end
request_uri() click to toggle source
# File lib/cisco_spark/api.rb, line 95
def request_uri
  uri = URI.join(domain, "#{CiscoSpark.api_version}/#{resource}")
  uri.query = URI.encode_www_form(params)
  uri
end