Module: ExceptionBrowser::Plugin::ClassMethods
- Defined in:
- lib/exception_browser_plugin/rails/controller_extensions.rb
Instance Method Summary collapse
- #clean_backtrace_regex ⇒ Object
- #exception_data(deliverer = self, &block) ⇒ Object
- #sanitaize_backtrace_entry(line) ⇒ Object
Instance Method Details
#clean_backtrace_regex ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/exception_browser_plugin/rails/controller_extensions.rb', line 40 def clean_backtrace_regex if @clean_backtrace_regex.nil? rails_path_prefixes= Pathname.new(RAILS_ROOT).cleanpath.to_s paths = `gem environment gempath`.strip.split(":") gems_path_prefixes = paths.collect { |path| Pathname.new(path+"/gems").cleanpath.to_s } paths = `ruby -e 'puts $:.reject{|p|p=="."}.join(":")'`.strip.split(":") system_path_prefixes = paths.collect { |path| Pathname.new(path).cleanpath.to_s } @clean_backtrace_regex = { :rails => /^(#{Regexp.escape(rails_path_prefixes)})/, :gems => /^(#{gems_path_prefixes.collect{|path|Regexp.escape(path)}.join('|')})/, :system => /^(#{system_path_prefixes.collect{|path|Regexp.escape(path)}.join('|')})/ } end @clean_backtrace_regex end |
#exception_data(deliverer = self, &block) ⇒ Object
31 32 33 34 35 36 37 38 |
# File 'lib/exception_browser_plugin/rails/controller_extensions.rb', line 31 def exception_data(deliverer = self, &block) deliverer = block if block if deliverer == self read_inheritable_attribute(:exception_data) else write_inheritable_attribute(:exception_data, deliverer) end end |
#sanitaize_backtrace_entry(line) ⇒ Object
59 60 61 62 63 64 65 66 67 |
# File 'lib/exception_browser_plugin/rails/controller_extensions.rb', line 59 def sanitaize_backtrace_entry(line) line = line.strip line.gsub!('in `', "") line.gsub!("'", "") line.gsub!(clean_backtrace_regex[:rails], "[RAILS_ROOT]") line.gsub!(clean_backtrace_regex[:gems], "[GEM]") line.gsub!(clean_backtrace_regex[:system], "[SYSTEM]") Pathname.new(line).cleanpath.to_s end |