Module: BetterErrors
- Defined in:
- lib/better_errors.rb,
lib/better_errors/repl.rb,
lib/better_errors/rails.rb,
lib/better_errors/version.rb,
lib/better_errors/repl/pry.rb,
lib/better_errors/error_page.rb,
lib/better_errors/middleware.rb,
lib/better_errors/repl/basic.rb,
lib/better_errors/stack_frame.rb,
lib/better_errors/code_formatter.rb,
lib/better_errors/code_formatter/html.rb,
lib/better_errors/code_formatter/text.rb
Defined Under Namespace
Classes: Middleware
Constant Summary collapse
- VERSION =
"0.8.0"
Class Attribute Summary collapse
-
.application_root ⇒ String
The path to the root of the application.
-
.ignored_instance_variables ⇒ Array
The ignored instance variables.
-
.logger ⇒ Logger?
The logger to use when logging exception details and backtraces.
Class Method Summary collapse
-
.editor ⇒ Proc
Returns a proc, which when called with a filename and line number argument, returns a URL to open the filename and line in the selected editor.
-
.editor=(editor) ⇒ Object
Configures how Better Errors generates open-in-editor URLs.
-
.use_pry! ⇒ Object
Enables experimental Pry support in the inline REPL.
Class Attribute Details
.application_root ⇒ String
The path to the root of the application. Better Errors uses this property to determine if a file in a backtrace should be considered an application frame. If you are using Better Errors with Rails, you do not need to set this attribute manually.
21 22 23 |
# File 'lib/better_errors.rb', line 21 def application_root @application_root end |
.ignored_instance_variables ⇒ Array
The ignored instance variables.
38 39 40 |
# File 'lib/better_errors.rb', line 38 def ignored_instance_variables @ignored_instance_variables end |
.logger ⇒ Logger?
The logger to use when logging exception details and backtraces. If you
are using Better Errors with Rails, you do not need to set this attribute
manually. If this attribute is nil
, nothing will be logged.
28 29 30 |
# File 'lib/better_errors.rb', line 28 def logger @logger end |
Class Method Details
.editor ⇒ Proc
Returns a proc, which when called with a filename and line number argument, returns a URL to open the filename and line in the selected editor.
Generates TextMate URLs by default.
BetterErrors.editor["/some/file", 123] # => txmt://open?url=file:///some/file&line=123
51 52 53 |
# File 'lib/better_errors.rb', line 51 def self.editor @editor end |
.BetterErrors.editor=(sym) ⇒ Object .BetterErrors.editor=(str) ⇒ Object .BetterErrors.editor=(proc) ⇒ Object
Configures how Better Errors generates open-in-editor URLs.
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/better_errors.rb', line 91 def self.editor=(editor) case editor when :textmate, :txmt, :tm self.editor = "txmt://open?url=file://%{file}&line=%{line}" when :sublime, :subl, :st self.editor = "subl://open?url=file://%{file}&line=%{line}" when :macvim, :mvim self.editor = proc { |file, line| "mvim://open?url=file://#{file}&line=#{line}" } when :emacs self.editor = "emacs://open?url=file://%{file}&line=%{line}" when String self.editor = proc { |file, line| editor % { file: URI.encode_www_form_component(file), line: line } } else if editor.respond_to? :call @editor = editor else raise TypeError, "Expected editor to be a valid editor key, a format string or a callable." end end end |
.use_pry! ⇒ Object
Enables experimental Pry support in the inline REPL
If you encounter problems while using Pry, please file a bug report at https://github.com/charliesome/better_errors/issues
116 117 118 |
# File 'lib/better_errors.rb', line 116 def self.use_pry! REPL::PROVIDERS.unshift const: :Pry, impl: "better_errors/repl/pry" end |