module Tankard::Api::Utils::Find

Helper for finding one or more things by ID(s)

@author Matthew Shafer

Public Instance Methods

find(id_or_array, options = {}) click to toggle source
# File lib/tankard/api/utils/find.rb, line 12
def find(id_or_array, options = {})
  options = http_request_parameters.merge!(options)

  if id_or_array.is_a?(Array)
    id_or_array.map { |id| request_data_with_nil_on_http_error(http_client, "#{route}/#{id}", options) }.compact
  else
    request_data_with_nil_on_http_error(http_client, "#{route}/#{id_or_array}", options)
  end
end

Private Instance Methods

http_client() click to toggle source
# File lib/tankard/api/utils/find.rb, line 28
def http_client
  fail NoMethodError, 'Must return the http object to make requests with'
end
http_request_parameters() click to toggle source
# File lib/tankard/api/utils/find.rb, line 32
def http_request_parameters
  fail NoMethodError, 'Must return a hash like structure with request parameters'
end
route() click to toggle source
# File lib/tankard/api/utils/find.rb, line 24
def route
  fail NoMethodError, 'Must implement and return the base route'
end