Sha256: 2ae5bd327644a65f273a94b623029aeb93f9a32937ddcf42d34c5b793aa6f190
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
class RailsExceptionHandler::Storage def self.active_record(info) if Rails::VERSION::MAJOR == 3 && Rails::VERSION::MINOR > 0 ErrorMessage.create(info, :without_protection => true) else ErrorMessage.create(info) end end def self.rails_log(info) message = "" info.each do |key,val| message += "#{key.to_s.upcase}: #{val.to_s}\n" end Rails.logger.fatal(message) end def self.remote_url(target, info) uri = URI.parse(target) params = flatten_hash({:error_message => info}) Net::HTTP::post_form(uri, params) end private # Credit: Hash flattening technique borrowed from Peter Marklund: http://marklunds.com/articles/one/314 def self.flatten_hash(hash, ancestor_names = []) flat_hash = {} hash.each do |k, v| names = Array.new(ancestor_names) names << k if v.is_a?(Hash) flat_hash.merge!(flatten_hash(v, names)) else key = flat_hash_key(names) key += "[]" if v.is_a?(Array) flat_hash[key] = v end end flat_hash end def self.flat_hash_key(names) names = Array.new(names) name = names.shift.to_s.dup names.each do |n| name << "[#{n}]" end name end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails_exception_handler-2.2.0 | lib/rails_exception_handler/storage.rb |