class Spore::Client
Attributes
api_endpoint[RW]
email[RW]
key[RW]
middleware[RW]
user_agent[RW]
Public Class Methods
new(email = nil, key = nil)
click to toggle source
# File lib/spore/client.rb, line 28 def initialize(email = nil, key = nil) @email = email @key = key end
Public Instance Methods
name=(deployment_name)
click to toggle source
# File lib/spore/client.rb, line 33 def name=(deployment_name) @email = deployment_name end
Private Instance Methods
connection()
click to toggle source
# File lib/spore/client.rb, line 84 def connection Faraday.new(api_endpoint) do |conn| conn.basic_auth(email, key) if signed_in? conn.request :url_encoded conn.response :json, :content_type => /\bjson$/ conn.adapter Faraday.default_adapter conn.headers[:user_agent] = user_agent end end
delete(path, params = nil)
click to toggle source
# File lib/spore/client.rb, line 68 def delete(path, params = nil) request(:delete, path, params) end
get(path, params = nil)
click to toggle source
# File lib/spore/client.rb, line 56 def get(path, params = nil) request(:get, path, params) end
patch(path, params, options = nil)
click to toggle source
# File lib/spore/client.rb, line 64 def patch(path, params, options = nil) request(:patch, path, params, options) end
post(path, params, options = nil)
click to toggle source
# File lib/spore/client.rb, line 60 def post(path, params, options = nil) request(:post, path, params, options) end
request(method, path, parameters = {}, options = nil)
click to toggle source
# File lib/spore/client.rb, line 72 def request(method, path, parameters = {}, options = nil) response = connection.send(method.to_sym, path, parameters) do |req| req.headers["Prefer"] = 'respond-async' if options && options[:async] end if error = response.body["error"] raise error["message"] end response rescue Faraday::Error::ClientError raise Spore::RequestError end