class Nusii::ApiOperations::Base

Public Instance Methods

call() click to toggle source
# File lib/nusii/api_operations/base.rb, line 5
def call
  if [200, 201].include?(response.status)
    update_rate_limit && build_ok_response
  else
    update_rate_limit && raise_error_response
  end
end

Private Instance Methods

build_ok_response() click to toggle source
# File lib/nusii/api_operations/base.rb, line 20
def build_ok_response
  raise NotImplementedError,
    "Each subclass must implement this method"
end
connection() click to toggle source
# File lib/nusii/api_operations/base.rb, line 49
def connection
  @connection ||= Connection.new
end
parsed_body() click to toggle source
# File lib/nusii/api_operations/base.rb, line 41
def parsed_body
  @parsed_body ||= JSON.parse body
end
raise_error_response() click to toggle source
# File lib/nusii/api_operations/base.rb, line 35
def raise_error_response
  current_error = NusiiError.error_for(status)

  raise current_error.new(status, body, reason_phrase)
end
resource_path() click to toggle source
# File lib/nusii/api_operations/base.rb, line 25
def resource_path
  raise NotImplementedError,
    "Each subclass must implement this method"
end
resource_url_string() click to toggle source
# File lib/nusii/api_operations/base.rb, line 45
def resource_url_string
  resource_class.class_name.underscore.pluralize
end
response() click to toggle source
# File lib/nusii/api_operations/base.rb, line 15
def response
  raise NotImplementedError,
    "Each subclass must implement this method"
end
update_rate_limit() click to toggle source
# File lib/nusii/api_operations/base.rb, line 30
def update_rate_limit
  Nusii.rate_limit_remaining   = headers["x-ratelimit-remaining"].to_i
  Nusii.rate_limit_retry_after = headers["x-ratelimit-retry-after"].to_i
end