class WorkSnaps::Client
Public Class Methods
new(options={})
click to toggle source
Initializes a new Client
object
@param options [Hash] @return [WorkSnaps::Client]
# File lib/worksnaps/client.rb, line 22 def initialize(options={}) Wsnaps.keys.each do |key| instance_variable_set(:"@#{key}", options[key] || WorkSnaps.instance_variable_get(:"@#{key}")) end end
Public Instance Methods
delete(path, params={})
click to toggle source
Perform an HTTP DELETE request
# File lib/worksnaps/client.rb, line 29 def delete(path, params={}) request(:delete, path, params) end
get(path, params={})
click to toggle source
Perform an HTTP GET request
# File lib/worksnaps/client.rb, line 34 def get(path, params={}) request(:get, path, params) end
post(path, params={})
click to toggle source
Perform an HTTP POST request
# File lib/worksnaps/client.rb, line 39 def post(path, params={}) signature_params = params.values.any?{|value| value.respond_to?(:to_io)} ? {} : params request(:post, path, params.to_xml, signature_params) end
put(path, params={})
click to toggle source
Perform an HTTP PUT request
# File lib/worksnaps/client.rb, line 45 def put(path, params={}) request(:put, path, params) end
Private Instance Methods
auth_header(method, path, params={})
click to toggle source
# File lib/worksnaps/client.rb, line 66 def auth_header(method, path, params={}) # Oauth # uri = URI(@endpoint + path) # SimpleOAuth::Header.new(method, uri, params, WorkSnaps.oauth_credentials) # Basic auth Faraday::Request::BasicAuthentication.header(Wsnaps.api_tocken, '') end
connection()
click to toggle source
Returns a Faraday::Connection object
@return [Faraday::Connection]
# File lib/worksnaps/client.rb, line 62 def connection @connection ||= Faraday.new(@endpoint, @connection_options.merge(:builder => @middleware)) end
request(method, path, params={}, signature_params=params)
click to toggle source
# File lib/worksnaps/client.rb, line 51 def request(method, path, params={}, signature_params=params) connection.send(method.to_sym, path, params) do |request| request.headers[:authorization] = auth_header(method.to_sym, path, signature_params).to_s end.env rescue Faraday::Error::ClientError raise WorkSnaps::Error::ClientError end