class SimpleRequest

Attributes

options[R]
response[R]

Public Class Methods

new(**options) click to toggle source
# File lib/simple_request.rb, line 11
def initialize(**options)
  @options = options.symbolize_keys!
  validate
end

Public Instance Methods

code() click to toggle source
# File lib/simple_request.rb, line 50
def code
  response&.code
end
csv(path = nil) click to toggle source
# File lib/simple_request.rb, line 46
def csv(path = nil)
  SimpleHelper::ResponseParser.perform(body_response, 'csv', path)
end

Private Instance Methods

body() click to toggle source
# File lib/simple_request.rb, line 60
def body
  options[:body]
end
body_response() click to toggle source
# File lib/simple_request.rb, line 64
def body_response
  response&.body
end
headers() click to toggle source
# File lib/simple_request.rb, line 76
def headers
  options[:headers] || {}
end
headers_processor() click to toggle source
# File lib/simple_request.rb, line 68
def headers_processor
  SimpleHelper::HeadersProcessor.perform(headers)
end
http_method() click to toggle source
# File lib/simple_request.rb, line 72
def http_method
  # "#{Net::HTTP::}"
end
requested_class() click to toggle source
# File lib/simple_request.rb, line 56
def requested_class
  Object.const_get("SimpleHelper::#{scheme.capitalize}")
end
uri() click to toggle source
# File lib/simple_request.rb, line 80
def uri
  URI(options[:url])
end
validate() click to toggle source
# File lib/simple_request.rb, line 84
def validate
  # raise SimpleHelper::RedirectionTooDeep.new(last_response), 'HTTP redirects too deep' if options[:limit].to_i <= 0

  # unless SimpleHelper::Config.supported_methods.include?(http_method)
  #   raise ArgumentError, 'only get, post, patch, put, and delete methods are supported'
  # end

  raise ArgumentError, ':headers must be a hash' unless headers.respond_to?(:to_hash)

  unless SimpleHelper::Config.supported_schemes.include? scheme
    raise SimpleHelper::UnsupportedURIScheme, ' URL Must start with http:// or https://'
  end

    # if options[:basic_auth] && !options[:basic_auth].respond_to?(:to_hash)
    # raise ArgumentError, ':basic_auth must be a hash'
    # end

    # if options[:digest_auth] && !options[:digest_auth].respond_to?(:to_hash)
    # raise ArgumentError, ':digest_auth must be a hash'
    # end

  # if post? && !options[:query].nil? && !options[:query].respond_to?(:to_hash)
  #   raise ArgumentError, ':query must be hash if using HTTP Post'
  #   end
end