better_errors 2.8.1 → 2.10.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +142 -0
  3. data/.github/workflows/release.yml +64 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +6 -1
  6. data/README.md +2 -2
  7. data/gemfiles/pry010.gemfile +2 -1
  8. data/gemfiles/pry011.gemfile +2 -1
  9. data/gemfiles/pry09.gemfile +2 -1
  10. data/gemfiles/rack.gemfile +2 -1
  11. data/gemfiles/rack_boc.gemfile +2 -1
  12. data/gemfiles/rails42.gemfile +2 -1
  13. data/gemfiles/rails42_boc.gemfile +2 -1
  14. data/gemfiles/rails42_haml.gemfile +2 -1
  15. data/gemfiles/rails50.gemfile +2 -1
  16. data/gemfiles/rails50_boc.gemfile +2 -1
  17. data/gemfiles/rails50_haml.gemfile +2 -1
  18. data/gemfiles/rails51.gemfile +2 -1
  19. data/gemfiles/rails51_boc.gemfile +2 -1
  20. data/gemfiles/rails51_haml.gemfile +2 -1
  21. data/gemfiles/rails52.gemfile +2 -1
  22. data/gemfiles/rails52_boc.gemfile +2 -1
  23. data/gemfiles/rails52_haml.gemfile +2 -1
  24. data/gemfiles/rails60.gemfile +2 -1
  25. data/gemfiles/rails60_boc.gemfile +2 -1
  26. data/gemfiles/rails60_haml.gemfile +2 -1
  27. data/gemfiles/rails61.gemfile +8 -0
  28. data/gemfiles/rails61_boc.gemfile +9 -0
  29. data/gemfiles/rails61_haml.gemfile +9 -0
  30. data/lib/better_errors.rb +15 -34
  31. data/lib/better_errors/editor.rb +103 -0
  32. data/lib/better_errors/error_page.rb +30 -14
  33. data/lib/better_errors/exception_hint.rb +29 -0
  34. data/lib/better_errors/middleware.rb +21 -5
  35. data/lib/better_errors/raised_exception.rb +8 -1
  36. data/lib/better_errors/templates/main.erb +111 -28
  37. data/lib/better_errors/templates/text.erb +6 -3
  38. data/lib/better_errors/templates/variable_info.erb +18 -15
  39. data/lib/better_errors/version.rb +1 -1
  40. metadata +13 -6
  41. data/.travis.yml +0 -111
@@ -1,12 +1,15 @@
1
1
  <%== text_heading("=", "%s at %s" % [exception_type, request_path]) %>
2
2
 
3
- > <%== exception_message %>
4
- <% if backtrace_frames.any? %>
3
+ <%== exception_message %>
4
+
5
+ > To access an interactive console with this error, point your browser to: /__better_errors
6
+
7
+ <% if backtrace_frames.any? -%>
5
8
 
6
9
  <%== text_heading("-", "%s, line %i" % [first_frame.pretty_path, first_frame.line]) %>
7
10
 
8
11
  ``` ruby
9
- <%== text_formatted_code_block(first_frame) %>```
12
+ <%== ErrorPage.text_formatted_code_block(first_frame) %>```
10
13
 
11
14
  App backtrace
12
15
  -------------
@@ -1,20 +1,20 @@
1
1
  <header class="trace_info clearfix">
2
2
  <div class="title">
3
- <h2 class="name"><%= @frame.name %></h2>
3
+ <h2 class="name"><%= frame.name %></h2>
4
4
  <div class="location">
5
5
  <span class="filename">
6
6
  <a
7
- href="<%= editor_url(@frame) %>"
7
+ href="<%= editor_url %>"
8
8
  <%= ENV.key?('BETTER_ERRORS_INSIDE_FRAME') ? "target=_blank" : '' %>
9
- ><%= @frame.pretty_path %></a>
9
+ ><%= frame.pretty_path %></a>
10
10
  </span>
11
11
  </div>
12
12
  </div>
13
13
  <div class="code_block clearfix">
14
- <%== html_formatted_code_block @frame %>
14
+ <%== ErrorPage.html_formatted_code_block frame %>
15
15
  </div>
16
16
 
17
- <% if BetterErrors.binding_of_caller_available? && @frame.frame_binding %>
17
+ <% if BetterErrors.binding_of_caller_available? && frame.frame_binding %>
18
18
  <div class="be-repl">
19
19
  <div class="be-console">
20
20
  <pre></pre>
@@ -24,8 +24,8 @@
24
24
  <% end %>
25
25
  </header>
26
26
 
27
- <% if BetterErrors.binding_of_caller_available? && @frame.frame_binding %>
28
- <div class="hint">
27
+ <% if BetterErrors.binding_of_caller_available? && frame.frame_binding %>
28
+ <div class="hint live-console-hint">
29
29
  This is a live shell. Type in here.
30
30
  </div>
31
31
 
@@ -38,27 +38,28 @@
38
38
  </div>
39
39
  <% end %>
40
40
 
41
+ <%# TODO: move this outside of the frame info. It's not part of the frame. %>
41
42
  <div class="sub">
42
43
  <h3>Request info</h3>
43
44
  <div class='inset variables'>
44
45
  <table class="var_table">
45
46
  <% if rails_params %>
46
- <tr><td class="name">Request parameters</td><td><pre><%== inspect_value rails_params %></pre></td></tr>
47
+ <tr><td class="name">Request parameters</td><td><pre><%== ErrorPage.inspect_value rails_params %></pre></td></tr>
47
48
  <% end %>
48
49
  <% if rack_session %>
49
- <tr><td class="name">Rack session</td><td><pre><%== inspect_value rack_session %></pre></td></tr>
50
+ <tr><td class="name">Rack session</td><td><pre><%== ErrorPage.inspect_value rack_session %></pre></td></tr>
50
51
  <% end %>
51
52
  </table>
52
53
  </div>
53
54
  </div>
54
55
 
55
- <% if BetterErrors.binding_of_caller_available? && @frame.frame_binding %>
56
+ <% if BetterErrors.binding_of_caller_available? && frame.frame_binding %>
56
57
  <div class="sub">
57
58
  <h3>Local Variables</h3>
58
59
  <div class='inset variables'>
59
60
  <table class="var_table">
60
- <% @frame.local_variables.each do |name, value| %>
61
- <tr><td class="name"><%= name %></td><td><pre><%== inspect_value value %></pre></td></tr>
61
+ <% frame.local_variables.each do |name, value| %>
62
+ <tr><td class="name"><%= name %></td><td><pre><%== ErrorPage.inspect_value value %></pre></td></tr>
62
63
  <% end %>
63
64
  </table>
64
65
  </div>
@@ -68,12 +69,14 @@
68
69
  <h3>Instance Variables</h3>
69
70
  <div class="inset variables">
70
71
  <table class="var_table">
71
- <% @frame.instance_variables.each do |name, value| %>
72
- <tr><td class="name"><%= name %></td><td><pre><%== inspect_value value %></pre></td></tr>
72
+ <% frame.instance_variables.each do |name, value| %>
73
+ <tr><td class="name"><%= name %></td><td><pre><%== ErrorPage.inspect_value value %></pre></td></tr>
73
74
  <% end %>
74
75
  </table>
75
76
  </div>
76
77
  </div>
78
+ <% end %>
77
79
 
78
- <!-- <%= Time.now.to_f - @var_start_time %> seconds -->
80
+ <% if start_time %>
81
+ <!-- variable_info took <%= Time.now.to_f - start_time %> seconds -->
79
82
  <% end %>
@@ -1,3 +1,3 @@
1
1
  module BetterErrors
2
- VERSION = "2.8.1"
2
+ VERSION = "2.10.0.beta1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_errors
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.1
4
+ version: 2.10.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charlie Somerville
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-17 00:00:00.000000000 Z
11
+ date: 2020-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -146,8 +146,10 @@ extensions: []
146
146
  extra_rdoc_files: []
147
147
  files:
148
148
  - ".coveralls.yml"
149
+ - ".github/workflows/ci.yml"
150
+ - ".github/workflows/release.yml"
149
151
  - ".gitignore"
150
- - ".travis.yml"
152
+ - ".ruby-version"
151
153
  - ".yardopts"
152
154
  - CHANGELOG.md
153
155
  - Gemfile
@@ -174,12 +176,17 @@ files:
174
176
  - gemfiles/rails60.gemfile
175
177
  - gemfiles/rails60_boc.gemfile
176
178
  - gemfiles/rails60_haml.gemfile
179
+ - gemfiles/rails61.gemfile
180
+ - gemfiles/rails61_boc.gemfile
181
+ - gemfiles/rails61_haml.gemfile
177
182
  - lib/better_errors.rb
178
183
  - lib/better_errors/code_formatter.rb
179
184
  - lib/better_errors/code_formatter/html.rb
180
185
  - lib/better_errors/code_formatter/text.rb
186
+ - lib/better_errors/editor.rb
181
187
  - lib/better_errors/error_page.rb
182
188
  - lib/better_errors/exception_extension.rb
189
+ - lib/better_errors/exception_hint.rb
183
190
  - lib/better_errors/inspectable_value.rb
184
191
  - lib/better_errors/middleware.rb
185
192
  - lib/better_errors/rails.rb
@@ -210,11 +217,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
217
  version: 2.0.0
211
218
  required_rubygems_version: !ruby/object:Gem::Requirement
212
219
  requirements:
213
- - - ">="
220
+ - - ">"
214
221
  - !ruby/object:Gem::Version
215
- version: '0'
222
+ version: 1.3.1
216
223
  requirements: []
217
- rubygems_version: 3.1.2
224
+ rubygems_version: 3.1.4
218
225
  signing_key:
219
226
  specification_version: 4
220
227
  summary: Better error page for Rails and other Rack apps
@@ -1,111 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- notifications:
4
- webhooks:
5
- # With COVERALLS_PARALLEL, coverage information sent to coveralls will not be processed until
6
- # this webhook is sent.
7
- # https://coveralls.zendesk.com/hc/en-us/articles/203484329-Parallel-Build-Webhook
8
- - secure: "YnHYbTq51ySistjvOxsuNhyg4GLuUffEJstTYeGYXiBF7HG5h43IVYo8KNuLzwkgsOYBcNo+YMdQX7qCqJffSbhsr1FZRSzBmjFFxcyD4hu+ukM2theZ4mePVAZiePscYvQPRNY4hIb4d3egStJEytkalDhB3sOebF57tIaCssg="
9
- rvm:
10
- - 2.2.10
11
- - 2.3.8
12
- - 2.4.9
13
- - 2.5.7
14
- - 2.6.5
15
- - 2.7.0
16
- - ruby-head
17
- - truffleruby-head
18
- gemfile:
19
- - gemfiles/rails42.gemfile
20
- - gemfiles/rails50.gemfile
21
- - gemfiles/rails51.gemfile
22
- - gemfiles/rails52.gemfile
23
- - gemfiles/rails60.gemfile
24
- - gemfiles/rails42_haml.gemfile
25
- - gemfiles/rails50_haml.gemfile
26
- - gemfiles/rails51_haml.gemfile
27
- - gemfiles/rails52_haml.gemfile
28
- - gemfiles/rails60_haml.gemfile
29
- - gemfiles/rails42_boc.gemfile
30
- - gemfiles/rails50_boc.gemfile
31
- - gemfiles/rails51_boc.gemfile
32
- - gemfiles/rails52_boc.gemfile
33
- - gemfiles/rails60_boc.gemfile
34
- - gemfiles/rack.gemfile
35
- - gemfiles/rack_boc.gemfile
36
- - gemfiles/pry09.gemfile
37
- - gemfiles/pry010.gemfile
38
- - gemfiles/pry011.gemfile
39
- matrix:
40
- fast_finish: true
41
- allow_failures:
42
- - rvm: ruby-head
43
- - gemfile: gemfiles/pry010.gemfile
44
- - gemfile: gemfiles/pry011.gemfile
45
- exclude:
46
- - rvm: 2.2.10
47
- gemfile: gemfiles/rails60.gemfile
48
- - rvm: 2.2.10
49
- gemfile: gemfiles/rails60_boc.gemfile
50
- - rvm: 2.2.10
51
- gemfile: gemfiles/rails60_haml.gemfile
52
- - rvm: 2.3.8
53
- gemfile: gemfiles/rails42.gemfile
54
- - rvm: 2.3.8
55
- gemfile: gemfiles/rails42_boc.gemfile
56
- - rvm: 2.3.8
57
- gemfile: gemfiles/rails42_haml.gemfile
58
- - rvm: 2.3.8
59
- gemfile: gemfiles/rails60.gemfile
60
- - rvm: 2.3.8
61
- gemfile: gemfiles/rails60_boc.gemfile
62
- - rvm: 2.3.8
63
- gemfile: gemfiles/rails60_haml.gemfile
64
- - rvm: 2.4.9
65
- gemfile: gemfiles/rails42.gemfile
66
- - rvm: 2.4.9
67
- gemfile: gemfiles/rails42_boc.gemfile
68
- - rvm: 2.4.9
69
- gemfile: gemfiles/rails42_haml.gemfile
70
- - rvm: 2.4.9
71
- gemfile: gemfiles/rails60.gemfile
72
- - rvm: 2.4.9
73
- gemfile: gemfiles/rails60_boc.gemfile
74
- - rvm: 2.4.9
75
- gemfile: gemfiles/rails60_haml.gemfile
76
- - rvm: 2.5.7
77
- gemfile: gemfiles/rails42.gemfile
78
- - rvm: 2.5.7
79
- gemfile: gemfiles/rails42_boc.gemfile
80
- - rvm: 2.5.7
81
- gemfile: gemfiles/rails42_haml.gemfile
82
- - rvm: 2.6.5
83
- gemfile: gemfiles/rails42.gemfile
84
- - rvm: 2.6.5
85
- gemfile: gemfiles/rails42_boc.gemfile
86
- - rvm: 2.6.5
87
- gemfile: gemfiles/rails42_haml.gemfile
88
- - rvm: 2.7.0
89
- gemfile: gemfiles/rails42.gemfile
90
- - rvm: 2.7.0
91
- gemfile: gemfiles/rails42_boc.gemfile
92
- - rvm: 2.7.0
93
- gemfile: gemfiles/rails42_haml.gemfile
94
- - rvm: ruby-head
95
- gemfile: gemfiles/rails42.gemfile
96
- - rvm: ruby-head
97
- gemfile: gemfiles/rails42_boc.gemfile
98
- - rvm: ruby-head
99
- gemfile: gemfiles/rails42_haml.gemfile
100
- - rvm: truffleruby-head
101
- gemfile: gemfiles/rails42_boc.gemfile
102
- - rvm: truffleruby-head
103
- gemfile: gemfiles/rails50_boc.gemfile
104
- - rvm: truffleruby-head
105
- gemfile: gemfiles/rails51_boc.gemfile
106
- - rvm: truffleruby-head
107
- gemfile: gemfiles/rails52_boc.gemfile
108
- - rvm: truffleruby-head
109
- gemfile: gemfiles/rails60_boc.gemfile
110
- - rvm: truffleruby-head
111
- gemfile: gemfiles/rack_boc.gemfile