better_errors 2.7.1 → 2.9.0
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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +130 -0
- data/.github/workflows/release.yml +64 -0
- data/.ruby-version +1 -0
- data/Gemfile +6 -1
- data/README.md +24 -2
- data/gemfiles/pry010.gemfile +2 -1
- data/gemfiles/pry011.gemfile +2 -1
- data/gemfiles/pry09.gemfile +2 -1
- data/gemfiles/rack.gemfile +2 -1
- data/gemfiles/rack_boc.gemfile +2 -1
- data/gemfiles/rails42.gemfile +2 -1
- data/gemfiles/rails42_boc.gemfile +2 -1
- data/gemfiles/rails42_haml.gemfile +2 -1
- data/gemfiles/rails50.gemfile +2 -1
- data/gemfiles/rails50_boc.gemfile +2 -1
- data/gemfiles/rails50_haml.gemfile +2 -1
- data/gemfiles/rails51.gemfile +2 -1
- data/gemfiles/rails51_boc.gemfile +2 -1
- data/gemfiles/rails51_haml.gemfile +2 -1
- data/gemfiles/rails52.gemfile +2 -1
- data/gemfiles/rails52_boc.gemfile +2 -1
- data/gemfiles/rails52_haml.gemfile +2 -1
- data/gemfiles/rails60.gemfile +2 -1
- data/gemfiles/rails60_boc.gemfile +2 -1
- data/gemfiles/rails60_haml.gemfile +2 -1
- data/lib/better_errors.rb +15 -34
- data/lib/better_errors/editor.rb +99 -0
- data/lib/better_errors/error_page.rb +24 -3
- data/lib/better_errors/exception_hint.rb +29 -0
- data/lib/better_errors/middleware.rb +58 -11
- data/lib/better_errors/raised_exception.rb +20 -7
- data/lib/better_errors/templates/main.erb +61 -17
- data/lib/better_errors/templates/text.erb +5 -2
- data/lib/better_errors/templates/variable_info.erb +9 -2
- data/lib/better_errors/version.rb +1 -1
- metadata +8 -4
- data/.travis.yml +0 -98
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f8ee0f98712b916f23c694b2221baec07d555acaac8ded033faf70bcd15a2f17
|
|
4
|
+
data.tar.gz: 60190607c78fc8a278d8f4b3f0a76ad49f958cf844d145d57d64a9afb986e635
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 456e4d9788580cdb530a3f3b26a3bb4dfa67d3e49b83043118e2bfbdb298d945964b9ddb71138a20599a3fcdd6106e9b484e81ae38e42cb2e9b401fdf7ee0f24
|
|
7
|
+
data.tar.gz: cca1e3e1858f34b56221d0b8720c9ae310e667117d458a474fb9787ab8d31cd5a4419667e74fde4b7b64682e3c038666e05b72d8c0429da8bac5c11a94adb1f5
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master ]
|
|
6
|
+
schedule:
|
|
7
|
+
- cron: '0 0 12,26 * *' # roughly every two weeks to run on new Ruby versions
|
|
8
|
+
pull_request:
|
|
9
|
+
branches: [ master ]
|
|
10
|
+
workflow_dispatch:
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
test:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
strategy:
|
|
16
|
+
fail-fast: false
|
|
17
|
+
matrix:
|
|
18
|
+
ruby:
|
|
19
|
+
- 2.2
|
|
20
|
+
- 2.3
|
|
21
|
+
- 2.4
|
|
22
|
+
- 2.5
|
|
23
|
+
- 2.6
|
|
24
|
+
- 2.7
|
|
25
|
+
# - ruby-head
|
|
26
|
+
# - truffleruby-head
|
|
27
|
+
gemfile:
|
|
28
|
+
# These are located in the gemfiles/ folder
|
|
29
|
+
- rails42
|
|
30
|
+
- rails50
|
|
31
|
+
- rails51
|
|
32
|
+
- rails52
|
|
33
|
+
- rails60
|
|
34
|
+
- rails42_haml
|
|
35
|
+
- rails50_haml
|
|
36
|
+
- rails51_haml
|
|
37
|
+
- rails52_haml
|
|
38
|
+
- rails60_haml
|
|
39
|
+
- rails42_boc
|
|
40
|
+
- rails50_boc
|
|
41
|
+
- rails51_boc
|
|
42
|
+
- rails52_boc
|
|
43
|
+
- rails60_boc
|
|
44
|
+
- rack
|
|
45
|
+
- rack_boc
|
|
46
|
+
# - pry09
|
|
47
|
+
# - pry10
|
|
48
|
+
# - pry11
|
|
49
|
+
exclude:
|
|
50
|
+
- { ruby: 2.2, gemfile: rails60 }
|
|
51
|
+
- { ruby: 2.2, gemfile: rails60_boc }
|
|
52
|
+
- { ruby: 2.2, gemfile: rails60_haml }
|
|
53
|
+
- { ruby: 2.3, gemfile: rails42 }
|
|
54
|
+
- { ruby: 2.3, gemfile: rails42_boc }
|
|
55
|
+
- { ruby: 2.3, gemfile: rails42_haml }
|
|
56
|
+
- { ruby: 2.3, gemfile: rails60 }
|
|
57
|
+
- { ruby: 2.3, gemfile: rails60_boc }
|
|
58
|
+
- { ruby: 2.3, gemfile: rails60_haml }
|
|
59
|
+
- { ruby: 2.4, gemfile: rails42 }
|
|
60
|
+
- { ruby: 2.4, gemfile: rails42_boc }
|
|
61
|
+
- { ruby: 2.4, gemfile: rails42_haml }
|
|
62
|
+
- { ruby: 2.4, gemfile: rails60 }
|
|
63
|
+
- { ruby: 2.4, gemfile: rails60_boc }
|
|
64
|
+
- { ruby: 2.4, gemfile: rails60_haml }
|
|
65
|
+
- { ruby: 2.5, gemfile: rails42 }
|
|
66
|
+
- { ruby: 2.5, gemfile: rails42_boc }
|
|
67
|
+
- { ruby: 2.5, gemfile: rails42_haml }
|
|
68
|
+
- { ruby: 2.6, gemfile: rails42 }
|
|
69
|
+
- { ruby: 2.6, gemfile: rails42_boc }
|
|
70
|
+
- { ruby: 2.6, gemfile: rails42_haml }
|
|
71
|
+
- { ruby: 2.7, gemfile: rails42 }
|
|
72
|
+
- { ruby: 2.7, gemfile: rails42_boc }
|
|
73
|
+
- { ruby: 2.7, gemfile: rails42_haml }
|
|
74
|
+
# - { ruby: ruby-head, gemfile: rails42 }
|
|
75
|
+
# - { ruby: ruby-head, gemfile: rails42_boc }
|
|
76
|
+
# - { ruby: ruby-head, gemfile: rails42_haml }
|
|
77
|
+
- { ruby: truffleruby-head, gemfile: rails42_boc }
|
|
78
|
+
- { ruby: truffleruby-head, gemfile: rails50_boc }
|
|
79
|
+
- { ruby: truffleruby-head, gemfile: rails51_boc }
|
|
80
|
+
- { ruby: truffleruby-head, gemfile: rails52_boc }
|
|
81
|
+
- { ruby: truffleruby-head, gemfile: rails60_boc }
|
|
82
|
+
- { ruby: truffleruby-head, gemfile: rack_boc }
|
|
83
|
+
|
|
84
|
+
steps:
|
|
85
|
+
|
|
86
|
+
- uses: actions/checkout@v2
|
|
87
|
+
|
|
88
|
+
- name: Set up Ruby
|
|
89
|
+
uses: ruby/setup-ruby@v1
|
|
90
|
+
with:
|
|
91
|
+
ruby-version: ${{ matrix.ruby }}
|
|
92
|
+
|
|
93
|
+
- uses: actions/cache@v2
|
|
94
|
+
with:
|
|
95
|
+
path: gemfiles/vendor/bundle
|
|
96
|
+
key: v3-${{ runner.os }}-branch-${{ github.ref }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }}-${{ hashFiles(format('gemfiles/{0}.gemfile', matrix.gemfile)) }}
|
|
97
|
+
restore-keys: |
|
|
98
|
+
v3-${{ runner.os }}-branch-${{ github.ref }}-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }}
|
|
99
|
+
v3-${{ runner.os }}-branch-master-ruby-${{ matrix.ruby }}-gemfile-${{ matrix.gemfile }}
|
|
100
|
+
|
|
101
|
+
- name: Bundle install
|
|
102
|
+
run: |
|
|
103
|
+
bundle config path vendor/bundle
|
|
104
|
+
bundle install --jobs 4 --retry 3
|
|
105
|
+
env:
|
|
106
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
|
107
|
+
|
|
108
|
+
- name: RSpec
|
|
109
|
+
run: bundle exec rspec -f doc --color
|
|
110
|
+
env:
|
|
111
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
|
|
112
|
+
|
|
113
|
+
- name: Report to Coveralls
|
|
114
|
+
uses: coverallsapp/github-action@v1.1.2
|
|
115
|
+
with:
|
|
116
|
+
github-token: ${{ secrets.github_token }}
|
|
117
|
+
flag-name: test-${{ matrix.ruby }}-${{ matrix.gemfile }}
|
|
118
|
+
parallel: true
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
finish:
|
|
122
|
+
needs: test
|
|
123
|
+
runs-on: ubuntu-latest
|
|
124
|
+
steps:
|
|
125
|
+
|
|
126
|
+
- name: Report completion to Coveralls
|
|
127
|
+
uses: coverallsapp/github-action@v1.1.2
|
|
128
|
+
with:
|
|
129
|
+
github-token: ${{ secrets.github_token }}
|
|
130
|
+
parallel-finished: true
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
|
|
11
|
+
steps:
|
|
12
|
+
|
|
13
|
+
- uses: actions/checkout@v2
|
|
14
|
+
|
|
15
|
+
- name: Set up Ruby
|
|
16
|
+
uses: ruby/setup-ruby@v1
|
|
17
|
+
with:
|
|
18
|
+
ruby-version: 2.7
|
|
19
|
+
|
|
20
|
+
- uses: actions/cache@v2
|
|
21
|
+
with:
|
|
22
|
+
path: vendor/bundle
|
|
23
|
+
key: v1-${{ runner.os }}-${{ hashFiles('Gemfile', 'better_errors.gemspec') }}
|
|
24
|
+
restore-keys: |
|
|
25
|
+
v1-${{ runner.os }}
|
|
26
|
+
|
|
27
|
+
- name: Bundle install
|
|
28
|
+
run: |
|
|
29
|
+
bundle config path vendor/bundle
|
|
30
|
+
bundle install --jobs 4 --retry 3
|
|
31
|
+
|
|
32
|
+
- name: Get release version
|
|
33
|
+
id: get_version
|
|
34
|
+
run: |
|
|
35
|
+
version="${github_ref//refs\/tags\/v/}"
|
|
36
|
+
echo "${version}"
|
|
37
|
+
echo "::set-output name=version::${version}"
|
|
38
|
+
env:
|
|
39
|
+
github_ref: ${{ github.ref }}
|
|
40
|
+
|
|
41
|
+
- name: Get Release
|
|
42
|
+
id: get_release
|
|
43
|
+
uses: bruceadams/get-release@v1.2.2
|
|
44
|
+
env:
|
|
45
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
46
|
+
|
|
47
|
+
- name: Set gem version
|
|
48
|
+
run: |
|
|
49
|
+
bundle exec gem bump better_errors --version ${{ steps.get_version.outputs.version }} --no-commit
|
|
50
|
+
|
|
51
|
+
- name: Build gem
|
|
52
|
+
run: gem build better_errors.gemspec
|
|
53
|
+
|
|
54
|
+
- name: Upload gem to Release
|
|
55
|
+
uses: actions/upload-release-asset@v1
|
|
56
|
+
env:
|
|
57
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
58
|
+
with:
|
|
59
|
+
upload_url: ${{ steps.get_release.outputs.upload_url }}
|
|
60
|
+
asset_path: ./better_errors-${{ steps.get_version.outputs.version }}.gem
|
|
61
|
+
asset_name: better_errors-${{ steps.get_version.outputs.version }}.gem
|
|
62
|
+
asset_content_type: application/octet-stream
|
|
63
|
+
|
|
64
|
+
# TODO: if this release is on master, add a commit updating the version in master.
|
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.7.2
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
[](https://github.com/BetterErrors/better_errors/actions?query=branch%3Amaster)
|
|
2
2
|
[](https://www.codacy.com/app/BetterErrors/better_errors?utm_source=github.com&utm_medium=referral&utm_content=BetterErrors/better_errors&utm_campaign=Badge_Grade)
|
|
3
|
-
[](https://coveralls.io/github/BetterErrors/better_errors?branch=master)
|
|
3
|
+
[](https://coveralls.io/github/BetterErrors/better_errors?branch=master)
|
|
4
4
|
[](https://rubygems.org/gems/better_errors)
|
|
5
5
|
|
|
6
6
|
# Better Errors
|
|
@@ -35,6 +35,28 @@ end
|
|
|
35
35
|
|
|
36
36
|
_Note: If you discover that Better Errors isn't working - particularly after upgrading from version 0.5.0 or less - be sure to set `config.consider_all_requests_local = true` in `config/environments/development.rb`._
|
|
37
37
|
|
|
38
|
+
### Optional: Set `EDITOR`
|
|
39
|
+
|
|
40
|
+
For many reasons outside of Better Errors, you should have the `EDITOR` environment variable set to your preferred
|
|
41
|
+
editor.
|
|
42
|
+
Better Errors, like many other tools, will use that environment variable to show a link that opens your
|
|
43
|
+
editor to the file and line from the console.
|
|
44
|
+
|
|
45
|
+
By default the links will open TextMate-protocol links.
|
|
46
|
+
|
|
47
|
+
To see if your editor is supported or to set up a different editor, see [the wiki](https://github.com/BetterErrors/better_errors/wiki/Link-to-your-editor).
|
|
48
|
+
|
|
49
|
+
### Optional: Set `BETTER_ERRORS_INSIDE_FRAME`
|
|
50
|
+
|
|
51
|
+
If your application is running inside of an iframe, or if you have a Content Security Policy that disallows links
|
|
52
|
+
to other protocols, the editor links will not work.
|
|
53
|
+
|
|
54
|
+
To work around this set `BETTER_ERRORS_INSIDE_FRAME=1` in the environment, and the links will include `target=_blank`,
|
|
55
|
+
allowing the link to open regardless of the policy.
|
|
56
|
+
|
|
57
|
+
_This works because it opens the editor from a new browser tab, escaping from the restrictions of your site._
|
|
58
|
+
_Unfortunately it leaves behind an empty tab each time, so only use this if needed._
|
|
59
|
+
|
|
38
60
|
## Security
|
|
39
61
|
|
|
40
62
|
**NOTE:** It is *critical* you put better\_errors only in the **development** section of your Gemfile.
|
data/gemfiles/pry010.gemfile
CHANGED
data/gemfiles/pry011.gemfile
CHANGED
data/gemfiles/pry09.gemfile
CHANGED
data/gemfiles/rack.gemfile
CHANGED
data/gemfiles/rack_boc.gemfile
CHANGED
data/gemfiles/rails42.gemfile
CHANGED
|
@@ -4,6 +4,7 @@ gem "rails", "~> 4.2.0"
|
|
|
4
4
|
gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7'
|
|
5
5
|
gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3'
|
|
6
6
|
|
|
7
|
-
gem '
|
|
7
|
+
gem 'simplecov', require: false
|
|
8
|
+
gem 'simplecov-lcov', require: false
|
|
8
9
|
|
|
9
10
|
gemspec path: "../"
|
|
@@ -5,6 +5,7 @@ gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7'
|
|
|
5
5
|
gem 'i18n', '< 1.5.2' if RUBY_VERSION < '2.3'
|
|
6
6
|
gem "binding_of_caller"
|
|
7
7
|
|
|
8
|
-
gem '
|
|
8
|
+
gem 'simplecov', require: false
|
|
9
|
+
gem 'simplecov-lcov', require: false
|
|
9
10
|
|
|
10
11
|
gemspec path: "../"
|
data/gemfiles/rails50.gemfile
CHANGED
data/gemfiles/rails51.gemfile
CHANGED
data/gemfiles/rails52.gemfile
CHANGED
data/gemfiles/rails60.gemfile
CHANGED