better_errors 2.8.2 → 2.10.0.beta2

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +142 -0
  3. data/.github/workflows/release.yml +68 -0
  4. data/.gitignore +4 -0
  5. data/.ruby-version +1 -0
  6. data/Gemfile +6 -1
  7. data/README.md +2 -2
  8. data/better_errors.gemspec +5 -4
  9. data/gemfiles/pry010.gemfile +2 -1
  10. data/gemfiles/pry011.gemfile +2 -1
  11. data/gemfiles/pry09.gemfile +2 -1
  12. data/gemfiles/rack.gemfile +2 -1
  13. data/gemfiles/rack_boc.gemfile +2 -1
  14. data/gemfiles/rails42.gemfile +2 -1
  15. data/gemfiles/rails42_boc.gemfile +2 -1
  16. data/gemfiles/rails42_haml.gemfile +2 -1
  17. data/gemfiles/rails50.gemfile +2 -1
  18. data/gemfiles/rails50_boc.gemfile +2 -1
  19. data/gemfiles/rails50_haml.gemfile +2 -1
  20. data/gemfiles/rails51.gemfile +2 -1
  21. data/gemfiles/rails51_boc.gemfile +2 -1
  22. data/gemfiles/rails51_haml.gemfile +2 -1
  23. data/gemfiles/rails52.gemfile +2 -1
  24. data/gemfiles/rails52_boc.gemfile +2 -1
  25. data/gemfiles/rails52_haml.gemfile +2 -1
  26. data/gemfiles/rails60.gemfile +2 -1
  27. data/gemfiles/rails60_boc.gemfile +2 -1
  28. data/gemfiles/rails60_haml.gemfile +2 -1
  29. data/gemfiles/rails61.gemfile +8 -0
  30. data/gemfiles/rails61_boc.gemfile +9 -0
  31. data/gemfiles/rails61_haml.gemfile +9 -0
  32. data/lib/better_errors.rb +15 -35
  33. data/lib/better_errors/code_formatter.rb +16 -27
  34. data/lib/better_errors/code_formatter/html.rb +15 -1
  35. data/lib/better_errors/editor.rb +103 -0
  36. data/lib/better_errors/error_page.rb +33 -15
  37. data/lib/better_errors/error_page_style.rb +30 -0
  38. data/lib/better_errors/exception_hint.rb +29 -0
  39. data/lib/better_errors/middleware.rb +20 -4
  40. data/lib/better_errors/raised_exception.rb +8 -1
  41. data/lib/better_errors/templates/main.erb +80 -717
  42. data/lib/better_errors/templates/text.erb +6 -3
  43. data/lib/better_errors/templates/variable_info.erb +18 -15
  44. data/lib/better_errors/version.rb +2 -1
  45. metadata +30 -7
  46. 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,4 @@
1
1
  module BetterErrors
2
- VERSION = "2.8.2"
2
+ # This is changed by CI before building a gem for release, but is not committed.
3
+ VERSION = "2.10.0.beta2"
3
4
  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.2
4
+ version: 2.10.0.beta2
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-24 00:00:00.000000000 Z
11
+ date: 2020-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: sassc
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: kramdown
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -109,7 +123,7 @@ dependencies:
109
123
  - !ruby/object:Gem::Version
110
124
  version: 1.0.0
111
125
  - !ruby/object:Gem::Dependency
112
- name: coderay
126
+ name: rouge
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - ">="
@@ -146,8 +160,10 @@ extensions: []
146
160
  extra_rdoc_files: []
147
161
  files:
148
162
  - ".coveralls.yml"
163
+ - ".github/workflows/ci.yml"
164
+ - ".github/workflows/release.yml"
149
165
  - ".gitignore"
150
- - ".travis.yml"
166
+ - ".ruby-version"
151
167
  - ".yardopts"
152
168
  - CHANGELOG.md
153
169
  - Gemfile
@@ -174,12 +190,18 @@ files:
174
190
  - gemfiles/rails60.gemfile
175
191
  - gemfiles/rails60_boc.gemfile
176
192
  - gemfiles/rails60_haml.gemfile
193
+ - gemfiles/rails61.gemfile
194
+ - gemfiles/rails61_boc.gemfile
195
+ - gemfiles/rails61_haml.gemfile
177
196
  - lib/better_errors.rb
178
197
  - lib/better_errors/code_formatter.rb
179
198
  - lib/better_errors/code_formatter/html.rb
180
199
  - lib/better_errors/code_formatter/text.rb
200
+ - lib/better_errors/editor.rb
181
201
  - lib/better_errors/error_page.rb
202
+ - lib/better_errors/error_page_style.rb
182
203
  - lib/better_errors/exception_extension.rb
204
+ - lib/better_errors/exception_hint.rb
183
205
  - lib/better_errors/inspectable_value.rb
184
206
  - lib/better_errors/middleware.rb
185
207
  - lib/better_errors/rails.rb
@@ -188,6 +210,7 @@ files:
188
210
  - lib/better_errors/repl/basic.rb
189
211
  - lib/better_errors/repl/pry.rb
190
212
  - lib/better_errors/stack_frame.rb
213
+ - lib/better_errors/templates/main.css
191
214
  - lib/better_errors/templates/main.erb
192
215
  - lib/better_errors/templates/text.erb
193
216
  - lib/better_errors/templates/variable_info.erb
@@ -210,11 +233,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
233
  version: 2.0.0
211
234
  required_rubygems_version: !ruby/object:Gem::Requirement
212
235
  requirements:
213
- - - ">="
236
+ - - ">"
214
237
  - !ruby/object:Gem::Version
215
- version: '0'
238
+ version: 1.3.1
216
239
  requirements: []
217
- rubygems_version: 3.1.2
240
+ rubygems_version: 3.1.4
218
241
  signing_key:
219
242
  specification_version: 4
220
243
  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