class Reverb::Response
Attributes
data[RW]
Success is only exposed to facilitate factory generation. It should not be used in code. Please use success? instead.
status[RW]
Success is only exposed to facilitate factory generation. It should not be used in code. Please use success? instead.
success[RW]
Success is only exposed to facilitate factory generation. It should not be used in code. Please use success? instead.
Public Class Methods
new(response = nil)
click to toggle source
# File lib/reverb/response.rb, line 7 def initialize(response = nil) @status = nil @success = false @body = nil @response = response @scrubbers = {} process_response if @response end
Public Instance Methods
scrub(regex, value)
click to toggle source
# File lib/reverb/response.rb, line 38 def scrub(regex, value) return self unless regex @scrubbers[regex] = value self end
scrubbed()
click to toggle source
# File lib/reverb/response.rb, line 21 def scrubbed return @scrubbed if defined?(@scrubbed) scrub etag, 'ETAG' if Configuration.current.scrub_etag && etag scrubbers = @scrubbers @scrubbers = {} @scrubbed = PP.pp(self, '') scrub_all scrubbers @scrubbers = scrubbers @scrubbed end
success?()
click to toggle source
# File lib/reverb/response.rb, line 17 def success? @success end
Private Instance Methods
body()
click to toggle source
# File lib/reverb/response.rb, line 105 def body @body end
etag()
click to toggle source
# File lib/reverb/response.rb, line 83 def etag raw_etag && @response.env.response_headers['etag'].gsub(/"/, '') end
on_success()
click to toggle source
# File lib/reverb/response.rb, line 109 def on_success end
process_response()
click to toggle source
# File lib/reverb/response.rb, line 46 def process_response @status = @response.status @success = @response.success? if success? @body = JSON.parse(@response.body) on_success end end
raw_etag()
click to toggle source
# File lib/reverb/response.rb, line 88 def raw_etag response_headers && @response.env.response_headers.is_a?(Hash) && @response.env.response_headers['etag'] || nil end
regexes(regex)
click to toggle source
# File lib/reverb/response.rb, line 71 def regexes(regex) return [regex] unless regex.is_a?(String) escaped = CGI.escape(regex) list = Set.new([regex]) list << escaped list << escaped.gsub('+', '%20').gsub('%2F', '/') list end
response_env()
click to toggle source
# File lib/reverb/response.rb, line 100 def response_env @response.respond_to?(:env) && @response.env || nil end
response_headers()
click to toggle source
# File lib/reverb/response.rb, line 94 def response_headers response_env && @response.env.respond_to?(:response_headers) && @response.env.response_headers || nil end
scrub_all(scrubbers)
click to toggle source
# File lib/reverb/response.rb, line 56 def scrub_all(scrubbers) return unless Configuration.current.scrub scrubbers.each do |regex, value| wipe regex, value end end
wipe(regex, value)
click to toggle source
# File lib/reverb/response.rb, line 63 def wipe(regex, value) value ||= 'NIL_SCRUB' regexes(regex).each do |match| @scrubbed = @scrubbed.gsub(match, value) end end