class Pexels::Client::Request
Attributes
api_key[R]
method[R]
params[R]
path[R]
Public Class Methods
new(api_key, path, method, params)
click to toggle source
# File lib/pexels/client/request.rb, line 8 def initialize(api_key, path, method, params) @api_key = api_key @path = path @method = method @params = params end
Public Instance Methods
call()
click to toggle source
# File lib/pexels/client/request.rb, line 15 def call log_request if ENV['DEBUG'] Response.new(self, execute) rescue StandardError => exception raise Pexels::APIError.new(exception) end
Private Instance Methods
execute()
click to toggle source
# File lib/pexels/client/request.rb, line 26 def execute Requests.request( method, url, params: params, headers: headers ) end
headers()
click to toggle source
# File lib/pexels/client/request.rb, line 39 def headers @headers = { 'Authorization' => api_key, 'User-Agent' => "Pexels/Ruby (#{Pexels::VERSION})" }.merge(Pexels.local_headers) end
log_request()
click to toggle source
# File lib/pexels/client/request.rb, line 46 def log_request puts "Requesting #{url}" puts " → params: #{params}" puts " → headers: #{headers}" end
url()
click to toggle source
# File lib/pexels/client/request.rb, line 35 def url @url ||= File.join(Pexels.api_base_url, path) end