class ShutterstockRuby::Connections
Attributes
configuration[R]
Public Class Methods
new(configuration)
click to toggle source
# File lib/shutterstock-ruby/connections.rb, line 5 def initialize(configuration) @configuration = configuration end
Protected Class Methods
client()
click to toggle source
# File lib/shutterstock-ruby/connections.rb, line 28 def self.client @client ||= new(ShutterstockRuby.configuration) end
Public Instance Methods
get(path, params = nil, options = {})
click to toggle source
# File lib/shutterstock-ruby/connections.rb, line 9 def get(path, params = nil, options = {}) ensure_credentials! options = { accept: :json }.merge(options) options[:params] = params unless params.nil? RestClient.get(build_url(path), add_bearer(options)) end
post(path, body, params = nil, options = {})
click to toggle source
# File lib/shutterstock-ruby/connections.rb, line 18 def post(path, body, params = nil, options = {}) ensure_credentials! options[:params] = params unless params.nil? options[:content_type] = "application/json" RestClient.post(build_url(path), body, add_bearer(options)) end
Private Instance Methods
add_bearer(options)
click to toggle source
# File lib/shutterstock-ruby/connections.rb, line 42 def add_bearer(options) options[:authorization] = "Bearer #{configuration.access_token}" if configuration.access_token options end
build_url(path)
click to toggle source
# File lib/shutterstock-ruby/connections.rb, line 34 def build_url(path) if configuration.access_token "https://#{ShutterstockRuby::API_BASE}#{path}" else "https://#{configuration.api_client}:#{configuration.api_secret}@#{ShutterstockRuby::API_BASE}#{path}" end end
ensure_credentials!()
click to toggle source
# File lib/shutterstock-ruby/connections.rb, line 47 def ensure_credentials! fail(Exception, 'Missing credentials') if (configuration.api_client.nil? || configuration.api_secret.nil?) && configuration.access_token.nil? end