Sha256: 3a1617678a44d1b89e4ab1e8c668022b703af2dbbd97d296bdf5fa4a10fc5e79
Contents?: true
Size: 1.96 KB
Versions: 1
Compression:
Stored size: 1.96 KB
Contents
module Panda class << self def connect!(auth_params={}) params = {:api_host => 'api.pandastream.com', :api_port => 80 }.merge(auth_params) @api_version = 2 @cloud_id = params["cloud_id"] || params[:cloud_id] @access_key = params["access_key"] || params[:access_key] @secret_key = params["secret_key"] || params[:secret_key] @api_host = params["api_host"] || params[:api_host] @api_port = params["api_port"] || params[:api_port] @prefix = params["prefix_url"] || "v#{@api_version}" @connection = RestClient::Resource.new(api_url) end def get(request_uri, params={}) append_authentication_params!("GET", request_uri, params) @connection[ApiAuthentication.add_params_to_request_uri(request_uri, params)].get end def post(request_uri, params) append_authentication_params!("POST", request_uri, params) @connection[request_uri].post(params) end def put(request_uri, params) append_authentication_params!("PUT", request_uri, params) @connection[request_uri].put(params) end def delete(request_uri, params={}) append_authentication_params!("DELETE", request_uri, params) @connection[ApiAuthentication.add_params_to_request_uri(request_uri, params)].delete end def authentication_params(verb, request_uri, params) auth_params = {} auth_params['cloud_id'] = @cloud_id auth_params['access_key'] = @access_key auth_params['timestamp'] = Time.now.iso8601 auth_params['signature'] = ApiAuthentication.authenticate(verb, request_uri, @api_host, @secret_key, params.merge(auth_params)) return auth_params end def api_url "http://#{@api_host}:#{@api_port}/#{@prefix}" end private def append_authentication_params!(verb, request_uri, params) auth_params = authentication_params(verb, request_uri, params) params.merge!(auth_params) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
panda-0.2.0 | lib/panda/panda.rb |