class Access::Request

Attributes

headers[R]
return_json[R]
timeout[R]
url[R]
use_hashify[R]

Public Instance Methods

base_setup(path, api_type, options) click to toggle source
# File lib/access/request.rb, line 7
def base_setup(path, api_type, options)
  @url = set_base(path, api_type, options.delete(:api_environment))
  @headers = set_headers options.delete(:access_token)
  @timeout = options.delete(:access_timeout) || Access.config.access_timeout
  @return_json = should_return_json?(options.delete(:return_json).to_s)
  @use_hashify = hashify_results?(options.delete(:hashify).to_s)
  @debug_output = options.delete(:access_debug_output).to_s || Access.config.access_debug_output
end
delete(path, api_type, options={}, &block) click to toggle source
# File lib/access/request.rb, line 58
def delete(path, api_type, options={}, &block)
  base_setup(path, api_type, options)
  results = self.class.delete(url, headers: headers, body: options.to_json, timeout: timeout, debug_output: (@debug_output == 'true' ? $stdout : nil))
  if return_json
    use_hashify ? results.hashify : results
  else
    block.call results
  end
rescue Net::ReadTimeout, Net::OpenTimeout
  raise Access::Error::Timeout
rescue EOFError
  raise Access::Error::NoData
end
get(path, api_type, options={}, &block) click to toggle source
# File lib/access/request.rb, line 16
def get(path, api_type, options={}, &block)
  base_setup(path, api_type, options)
  results = self.class.get(url, headers: headers, query: options, timeout: timeout, debug_output: (@debug_output == 'true' ? $stdout : nil))
  if return_json
    use_hashify ? results.hashify : results
  else
    block.call results
  end
rescue Net::ReadTimeout, Net::OpenTimeout
  raise Access::Error::Timeout
rescue EOFError
  raise Access::Error::NoData
end
post(path, api_type, options={}, &block) click to toggle source
# File lib/access/request.rb, line 44
def post(path, api_type, options={}, &block)
  base_setup(path, api_type, options)
  results = self.class.post(url, headers: headers, body: options.to_json, timeout: timeout, debug_output: (@debug_output == 'true' ? $stdout : nil))
  if return_json
    use_hashify ? results.hashify : results
  else
    block.call results
  end
rescue Net::ReadTimeout, Net::OpenTimeout
  raise Access::Error::Timeout
rescue EOFError
  raise Access::Error::NoData
end
post_for_filter(path, api_type, filter, options={}, &block) click to toggle source
# File lib/access/request.rb, line 72
def post_for_filter(path, api_type, filter, options={}, &block)
  base_setup(path, api_type, options)
  results = self.class.post(url, headers: headers, body: filter, timeout: timeout, debug_output: (@debug_output == 'true' ? $stdout : nil))
  if return_json
    use_hashify ? results.hashify : results
  else
    block.call results
  end
rescue Net::ReadTimeout, Net::OpenTimeout
  raise Access::Error::Timeout
rescue EOFError
  raise Access::Error::NoData
end
put(path, api_type, options={}, &block) click to toggle source
# File lib/access/request.rb, line 30
def put(path, api_type, options={}, &block)
  base_setup(path, api_type, options)
  results = self.class.put(url, headers: headers, body: options.to_json, timeout: timeout, debug_output: (@debug_output == 'true' ? $stdout : nil))
  if return_json
    use_hashify ? results.hashify : results
  else
    block.call results
  end
rescue Net::ReadTimeout, Net::OpenTimeout
  raise Access::Error::Timeout
rescue EOFError
  raise Access::Error::NoData
end

Private Instance Methods

hashify_results?(hashify_param) click to toggle source
# File lib/access/request.rb, line 109
def hashify_results?(hashify_param)
  hashify_param == 'true' || (hashify_param != 'false' && Access.config.hashify == 'true')
end
set_base(path, api_type, environment) click to toggle source
# File lib/access/request.rb, line 88
def set_base(path, api_type, environment)
  url = Access.config.api_environment == 'development' ? "http://" : "https://"
  url += api_type
  url += !!environment ? Access::Config::DOMAINS[environment] : Access::Config::DOMAINS[Access.config.api_environment]
  if api_type == "amt"
    url += Access.config.api_environment == 'development' ? ".amt.dev/api/v1" : ".accessdevelopment.com/api/v1"
  else
    url += Access.config.api_environment == 'development' ? ".rws-api.dev/v1" : ".adcrws.com/v1"
  end
  url += path
end
set_headers(token_param) click to toggle source
# File lib/access/request.rb, line 100
def set_headers(token_param)
  raise Access::Error::NoAccessToken if (access_token = token_param || Access.config.access_token).nil?
  {"Access-Token" => access_token, 'Content-Type' => 'application/json', 'Accept' => 'application/json'}
end
should_return_json?(return_json_param) click to toggle source
# File lib/access/request.rb, line 105
def should_return_json?(return_json_param)
  return_json_param == 'true' || (return_json_param != 'false' && Access.config.return_json == 'true')
end