Class: ReqWrap::Req

Inherits:
Object
  • Object
show all
Defined in:
lib/req_wrap/req.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(timeout: 10, logger: DEFAULT_LOGGER, response_store: []) ⇒ Req

Returns a new instance of Req.



18
19
20
21
22
# File 'lib/req_wrap/req.rb', line 18

def initialize(timeout: 10, logger: DEFAULT_LOGGER, response_store: [])
  @timeout = timeout
  @logger = logger
  @responses = response_store
end

Instance Attribute Details

#responsesObject (readonly)

Returns the value of attribute responses.



16
17
18
# File 'lib/req_wrap/req.rb', line 16

def responses
  @responses
end

Instance Method Details

#executed_requestObject



45
46
47
# File 'lib/req_wrap/req.rb', line 45

def executed_request
  response&.request
end

#load_envObject



24
25
26
# File 'lib/req_wrap/req.rb', line 24

def load_env
  Environment.new.load
end

#responseObject



41
42
43
# File 'lib/req_wrap/req.rb', line 41

def response
  @responses.last
end

#save_response(response_to_save = response, name: nil) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/req_wrap/req.rb', line 28

def save_response(response_to_save = response, name: nil)
  req_class = ActiveSupport::Inflector.underscore(
    ActiveSupport::Inflector.demodulize(self.class.name)
  )

  time = Time.now.utc.iso8601(4)
  filename = [req_class, time, name, 'response.txt'].join('_')

  File.write(filename, response_to_save)

  filename
end

#to_sObject



49
50
51
# File 'lib/req_wrap/req.rb', line 49

def to_s
  response.is_a?(HTTP::Response) ? response.parse : response
end