class SaasRunner::Client
Attributes
api_host[R]
api_key[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/saas_runner/client.rb, line 5 def initialize(options = {}) @api_key = options.fetch(:api_key) @api_host = options.fetch(:api_host, 'api.saasrunner.com') end
Public Instance Methods
activations()
click to toggle source
# File lib/saas_runner/client.rb, line 21 def activations @activations ||= Resource::Activation.new(self) end
delete(path, params)
click to toggle source
# File lib/saas_runner/client.rb, line 37 def delete(path, params) request(:delete, path, params) end
events()
click to toggle source
# File lib/saas_runner/client.rb, line 25 def events @events ||= Resource::Event.new(self) end
get(path, params)
click to toggle source
# File lib/saas_runner/client.rb, line 29 def get(path, params) request(:get, path, params) end
post(path, body)
click to toggle source
# File lib/saas_runner/client.rb, line 33 def post(path, body) request(:post, path, {}, body) end
subscribers()
click to toggle source
Public: Access the subscribers resource
Returns a Resource::Subscriber
# File lib/saas_runner/client.rb, line 13 def subscribers @subscribers ||= Resource::Subscriber.new(self) end
transactions()
click to toggle source
# File lib/saas_runner/client.rb, line 17 def transactions @transactions ||= Resource::Transaction.new(self) end
Private Instance Methods
connection()
click to toggle source
# File lib/saas_runner/client.rb, line 53 def connection @connection ||= Faraday.new(url: "http://#{api_host}") do |builder| builder.request :url_encoded builder.use Faraday::Response::RaiseResponseError builder.use FaradayMiddleware::Mashify builder.use FaradayMiddleware::ParseJson, content_type: /\bjson$/ builder.adapter :net_http end end
request(method, path, params = {}, body = {})
click to toggle source
# File lib/saas_runner/client.rb, line 43 def request(method, path, params = {}, body = {}) connection.send(method) do |request| request.headers['X-API-Key'] = api_key request.params = params request.body = body request.url(path) end end