module SPACEX::BaseRequest
Public Class Methods
info(path, klass = nil, params = {})
click to toggle source
# File lib/spacex/base_request.rb, line 8 def info(path, klass = nil, params = {}) response_body = get(path, params).body process(response_body, klass) end
Private Class Methods
conn(path)
click to toggle source
# File lib/spacex/base_request.rb, line 43 def conn(path) Faraday.new( url: "#{SPACEX::ENDPOINT_URI}/#{path}", request: { params_encoder: Faraday::FlatParamsEncoder } ) do |connection| connection.use ::FaradayMiddleware::ParseJson connection.use Faraday::Response::RaiseError connection.adapter ::Faraday.default_adapter end end
get(path, params)
click to toggle source
# File lib/spacex/base_request.rb, line 15 def get(path, params) conn(path).get do |req| req.params = params end end
process(response_body, klass)
click to toggle source
# File lib/spacex/base_request.rb, line 21 def process(response_body, klass) if response_body.is_a? Array response_body.map do |element| processed_response(element, klass) end else processed_response(response_body, klass) end end
processed_response(response, klass)
click to toggle source
# File lib/spacex/base_request.rb, line 31 def processed_response(response, klass) if klass.nil? spacex_response(response) else klass.new(spacex_response(response)) end end
spacex_response(response)
click to toggle source
# File lib/spacex/base_request.rb, line 39 def spacex_response(response) SPACEX::Response.new(response) end