Method: Platform::LoggedException#request=

Defined in:
app/models/platform/logged_exception.rb

#request=(request) ⇒ Object



268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
# File 'app/models/platform/logged_exception.rb', line 268

def request=(request)
  if request.is_a?(String)
    write_attribute :request, request
  else
    request.env['Process'] = $$
    max = request.env.keys.max { |a,b| a.length <=> b.length }
    env = request.env.keys.sort.inject([]) do |array, key|
      array << '* ' + ("%-*s: %s" % [max.length, key, request.env[key].to_s.strip])
    end
    write_attribute(:environment, env.join("\n"))

    write_attribute(:request, [
      "* URL:#{" #{request.method.to_s.upcase}" unless request.get?} #{request.protocol}#{request.env["HTTP_HOST"]}#{request.url}",
      "* Format: #{request.format.to_s}",
      "* Parameters: #{request.parameters.reject{|key, value| rejected_parameters.include?(key.to_sym)}.inspect}",
      "* Rails Root: #{Rails.root}"
    ] * "\n")
  end
end