class Mnemosyne::Middleware::Rack::Proxy
Public Class Methods
new(body, trace)
click to toggle source
# File lib/mnemosyne/middleware/rack.rb, line 7 def initialize(body, trace) @body = body @trace = trace @closed = false end
Public Instance Methods
close()
click to toggle source
# File lib/mnemosyne/middleware/rack.rb, line 24 def close return if @closed @closed = true begin @body.close if @body.respond_to? :close ensure _submit_trace end end
closed?()
click to toggle source
# File lib/mnemosyne/middleware/rack.rb, line 36 def closed? @closed end
each(*args, &block)
click to toggle source
# File lib/mnemosyne/middleware/rack.rb, line 40 def each(*args, &block) @body.each(*args, &block) rescue StandardError, LoadError, SyntaxError => e @trace.attach_error(e) raise end
method_missing(*args, &block)
click to toggle source
Calls superclass method
# File lib/mnemosyne/middleware/rack.rb, line 19 def method_missing(*args, &block) super if args.first && args.first.to_s == 'to_ary' @body.__send__(*args, &block) end
respond_to_missing?(*args)
click to toggle source
# File lib/mnemosyne/middleware/rack.rb, line 13 def respond_to_missing?(*args) return false if args.first && args.first.to_s == 'to_ary' @body.respond_to?(*args) end
Private Instance Methods
_submit_trace()
click to toggle source
# File lib/mnemosyne/middleware/rack.rb, line 49 def _submit_trace @trace.submit rescue Exception => e # rubocop:disable Lint/RescueException ::Mnemosyne::Logging.logger.error \ "Error while submitting trace: #{e}\n #{e.backtrace.join("\n ")}" end