class Interage::Request::Base

Attributes

response[R]

Protected Instance Methods

api_base_url() click to toggle source
# File lib/interage/request/base.rb, line 24
def api_base_url
  raise ArgumentError,
        "api_base_url is missing for #{self.class.superclass.name}"
end
base_path() click to toggle source
# File lib/interage/request/base.rb, line 12
def base_path
  plural_key_name
end
base_url(path: nil) click to toggle source
# File lib/interage/request/base.rb, line 20
def base_url(path: nil)
  "#{api_base_url}#{path}"
end
collection_response() click to toggle source
# File lib/interage/request/base.rb, line 29
def collection_response
  body[plural_key_name.to_sym] || body || []
end
delete(*args) click to toggle source
# File lib/interage/request/base.rb, line 65
def delete(*args)
  start(Net::HTTP::Delete, *args)
end
get(*args) click to toggle source
# File lib/interage/request/base.rb, line 49
def get(*args)
  start(Net::HTTP::Get, *args)
end
headers() click to toggle source
# File lib/interage/request/base.rb, line 76
def headers
  {}
end
key_name() click to toggle source
# File lib/interage/request/base.rb, line 41
def key_name
  klass.model_name.to_s.underscore
end
klass() click to toggle source
# File lib/interage/request/base.rb, line 45
def klass
  Interage::Request::Builder
end
member_path(id) click to toggle source
# File lib/interage/request/base.rb, line 16
def member_path(id)
  "#{base_path}/#{id}"
end
member_response() click to toggle source
# File lib/interage/request/base.rb, line 37
def member_response
  body[key_name.to_sym] || body || {}
end
patch(*args) click to toggle source
# File lib/interage/request/base.rb, line 53
def patch(*args)
  start(Net::HTTP::Patch, *args)
end
plural_key_name() click to toggle source
# File lib/interage/request/base.rb, line 33
def plural_key_name
  key_name.to_s.pluralize
end
post(*args) click to toggle source
# File lib/interage/request/base.rb, line 57
def post(*args)
  start(Net::HTTP::Post, *args)
end
put(*args) click to toggle source
# File lib/interage/request/base.rb, line 61
def put(*args)
  start(Net::HTTP::Put, *args)
end
start(klass, path:, params: {}) click to toggle source
# File lib/interage/request/base.rb, line 69
def start(klass, path:, params: {})
  ::Interage::Request::Start.call(klass,
                                  base_url(path: path),
                                  params,
                                  headers)
end