lib/bug_hunter/models.rb in bug_hunter-0.0.1 vs lib/bug_hunter/models.rb in bug_hunter-0.0.2

- old
+ new

@@ -69,17 +69,26 @@ {:multi => true}) BugHunter::Project.collection.update({:_id => BugHunter::Project.instance.id}, {:$inc => {:errors_resolved_count => 1}}) end + def unresolve! + self.collection.update({:_id => self.id}, + {:$set => {:resolved => false, :updated_at => Time.now.utc}}, + {:multi => true}) + BugHunter::Project.collection.update({:_id => BugHunter::Project.instance.id}, + {:$inc => {:errors_resolved_count => -1}}) + end + def unique_error_selector msg = self[:message] if msg.match(/#<.+>/) msg = /^#{Regexp.escape($`)}/ end { + :resolved => false, :message => msg, :file => self.file, :line => self.line, :method => self.method } @@ -89,11 +98,16 @@ def self.build_from(env, exception) doc = self.new doc[:message] = exception.message doc[:backtrace] = exception.backtrace - env = env.dup.delete_if {|k,v| k.include?(".") } - doc[:request_env] = env + new_env = {} + env.each do |k,v| + next if k =~ /^action_/ + + new_env[k.gsub(".", "_")] = v.inspect + end + doc[:request_env] = new_env scheme = if env['HTTP_VERSION'] =~ /^HTTPS/i "https://" else "http://"