class Shipcloud::Request::Base
Attributes
info[R]
Public Class Methods
new(info)
click to toggle source
# File lib/shipcloud/request/base.rb, line 8 def initialize(info) @info = info end
Public Instance Methods
perform()
click to toggle source
# File lib/shipcloud/request/base.rb, line 12 def perform raise AuthenticationError unless @info.api_key connection.setup_https response = connection.request validate_response(response) JSON.parse(response.body) unless response.body.nil? rescue JSON::ParserError raise ShipcloudError.new(response) end
Protected Instance Methods
connection()
click to toggle source
rubocop:disable Naming/MemoizedInstanceVariableName
# File lib/shipcloud/request/base.rb, line 33 def connection @connection ||= Connection.new(info) end
validate_response(response)
click to toggle source
# File lib/shipcloud/request/base.rb, line 25 def validate_response(response) error = ShipcloudError.from_response(response) if error raise error end end