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