better_errors 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of better_errors might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4a1dc267fbb1b144d24214815df6e7a31f23411d
4
- data.tar.gz: 2415e49dbf1e39761859473d0321d4951694c3cf
3
+ metadata.gz: 27b27931ec5b8e074bac10e095d6c842dbeab9fc
4
+ data.tar.gz: b7631911ff716069a371bf30b060241c08d4916d
5
5
  SHA512:
6
- metadata.gz: 0b1ca0e01a8bdacbdbf9e99a9fa6ef1f386a75baeeadf06cadb0913ac3819488c51c7374949d0e1fa9dfd61d2820296f4e8c78aadb29abfbdd80b991a5096cfb
7
- data.tar.gz: db6bf3012259cb357efaf1fcb7929186a7d0bc0a01141310289b4a29e64ec165f3e960988b78f6645ebbe1fa99fa3a002a8a1a94f2a2dcba2029246c6002e845
6
+ metadata.gz: cb6451b31dd661e6c966411814522e2c06bc9e19070468b91cdb2f3b46f0160e2ccdd8d38aac0c4ce1e5d83b894aa01478a8b6ddecbb2ff3123cc3b901f29aaf
7
+ data.tar.gz: ea83fb1c88433f2f3df9cd7794996896d05956893bde09772b9bc85d4c12e63640162d860660b7ede93c7fbe393ed89611e20c77a1d99e1bf18f41a5c6f00a9f
data/.coveralls.yml ADDED
@@ -0,0 +1 @@
1
+ service_name: travis-ci
data/.gitignore CHANGED
@@ -6,3 +6,6 @@
6
6
  /doc
7
7
  /.bundle
8
8
  /vendor/gems
9
+
10
+ /gemfiles/*.gemfile.lock
11
+ /gemfiles/.bundle
data/.travis.yml CHANGED
@@ -1,9 +1,68 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  cache: bundler
4
+ notifications:
5
+ webhooks:
6
+ # With COVERALLS_PARALLEL, coverage information sent to coveralls will not be processed until
7
+ # this webhook is sent.
8
+ # https://coveralls.zendesk.com/hc/en-us/articles/203484329-Parallel-Build-Webhook
9
+ - secure: "YnHYbTq51ySistjvOxsuNhyg4GLuUffEJstTYeGYXiBF7HG5h43IVYo8KNuLzwkgsOYBcNo+YMdQX7qCqJffSbhsr1FZRSzBmjFFxcyD4hu+ukM2theZ4mePVAZiePscYvQPRNY4hIb4d3egStJEytkalDhB3sOebF57tIaCssg="
4
10
  rvm:
5
- - 2.0
6
- - 2.1
7
- - 2.2
8
- - 2.3
9
- - 2.4
11
+ - 2.0.0
12
+ - 2.1.10
13
+ - 2.2.7
14
+ - 2.3.4
15
+ - 2.4.1
16
+ - ruby-head
17
+ gemfile:
18
+ - gemfiles/rails42.gemfile
19
+ - gemfiles/rails50.gemfile
20
+ - gemfiles/rails51.gemfile
21
+ - gemfiles/rails42_haml.gemfile
22
+ - gemfiles/rails50_haml.gemfile
23
+ - gemfiles/rails51_haml.gemfile
24
+ - gemfiles/rails42_boc.gemfile
25
+ - gemfiles/rails50_boc.gemfile
26
+ - gemfiles/rails51_boc.gemfile
27
+ - gemfiles/rack.gemfile
28
+ - gemfiles/rack_boc.gemfile
29
+ - gemfiles/pry09.gemfile
30
+ - gemfiles/pry010.gemfile
31
+ - gemfiles/pry011.gemfile
32
+ matrix:
33
+ fast_finish: true
34
+ allow_failures:
35
+ - rvm: ruby-head
36
+ - gemfile: gemfiles/pry010.gemfile
37
+ - gemfile: gemfiles/pry011.gemfile
38
+ exclude:
39
+ - rvm: 2.0.0
40
+ gemfile: gemfiles/rails50.gemfile
41
+ - rvm: 2.0.0
42
+ gemfile: gemfiles/rails50_boc.gemfile
43
+ - rvm: 2.0.0
44
+ gemfile: gemfiles/rails50_haml.gemfile
45
+ - rvm: 2.0.0
46
+ gemfile: gemfiles/rails51.gemfile
47
+ - rvm: 2.0.0
48
+ gemfile: gemfiles/rails51_boc.gemfile
49
+ - rvm: 2.0.0
50
+ gemfile: gemfiles/rails51_haml.gemfile
51
+ - rvm: 2.1.10
52
+ gemfile: gemfiles/rails50.gemfile
53
+ - rvm: 2.1.10
54
+ gemfile: gemfiles/rails50_boc.gemfile
55
+ - rvm: 2.1.10
56
+ gemfile: gemfiles/rails50_haml.gemfile
57
+ - rvm: 2.1.10
58
+ gemfile: gemfiles/rails51.gemfile
59
+ - rvm: 2.1.10
60
+ gemfile: gemfiles/rails51_boc.gemfile
61
+ - rvm: 2.1.10
62
+ gemfile: gemfiles/rails51_haml.gemfile
63
+ - rvm: 2.4.1
64
+ gemfile: gemfiles/rails42.gemfile
65
+ - rvm: 2.4.1
66
+ gemfile: gemfiles/rails42_boc.gemfile
67
+ - rvm: 2.4.1
68
+ gemfile: gemfiles/rails42_haml.gemfile
data/Gemfile CHANGED
@@ -2,11 +2,4 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- gem "rake"
6
- gem "rack", "1.6.4"
7
- gem "rspec", "3.5.0"
8
- gem "rspec-its"
9
- gem "binding_of_caller", platforms: :ruby
10
- gem "pry", "0.9.12"
11
- gem "yard"
12
- gem "kramdown"
5
+ # gem "pry-byebug"
data/README.md CHANGED
@@ -1,4 +1,9 @@
1
- # Better Errors [![Gem Version](https://img.shields.io/gem/v/better_errors.svg)](https://rubygems.org/gems/better_errors) [![Build Status](https://travis-ci.org/charliesome/better_errors.svg)](https://travis-ci.org/charliesome/better_errors) [![Code Climate](https://img.shields.io/codeclimate/github/charliesome/better_errors.svg)](https://codeclimate.com/github/charliesome/better_errors)
1
+ [![Build Status](https://travis-ci.org/charliesome/better_errors.svg)](https://travis-ci.org/charliesome/better_errors)
2
+ [![Code Climate](https://img.shields.io/codeclimate/github/charliesome/better_errors.svg)](https://codeclimate.com/github/charliesome/better_errors)
3
+ [![Coverage](https://coveralls.io/repos/github/charliesome/better_errors/badge.svg?branch=master)](https://coveralls.io/github/charliesome/better_errors?branch=master)
4
+ [![Gem Version](https://img.shields.io/gem/v/better_errors.svg)](https://rubygems.org/gems/better_errors)
5
+
6
+ # Better Errors
2
7
 
3
8
  Better Errors replaces the standard Rails error page with a much better and more useful error page. It is also usable outside of Rails in any Rack app as Rack middleware.
4
9
 
@@ -75,10 +80,48 @@ Better Errors includes a link to your editor for the file and line of code that
75
80
  By default, it uses your environment to determine which editor should be opened.
76
81
  See [the wiki for instructions on configuring the editor](https://github.com/charliesome/better_errors/wiki/Link-to-your-editor).
77
82
 
83
+
84
+ ## Set maximum variable size for inspector.
85
+
86
+ ```ruby
87
+ # e.g. in config/initializers/better_errors.rb
88
+ # This will stop BetterErrors from trying to render larger objects, which can cause
89
+ # slow loading times and browser performance problems. Stated size is in characters and refers
90
+ # to the length of #inspect's payload for the given object. Please be aware that HTML escaping
91
+ # modifies the size of this payload so setting this limit too precisely is not recommended.
92
+ # default value: 100_000
93
+ BetterErrors.maximum_variable_inspect_size = 100_000
94
+ ```
95
+
96
+
78
97
  ## Get in touch!
79
98
 
80
99
  If you're using better_errors, I'd love to hear from you. Drop me a line and tell me what you think!
81
100
 
101
+ ## Development
102
+
103
+ After checking out the repo, run `bundle install` to install the basic dependencies.
104
+
105
+ You can run the tests with the simplest set of dependencies using:
106
+
107
+ ```rb
108
+ bundle exec rspec
109
+ ```
110
+
111
+ To run specs for each of the dependency combinations, run:
112
+
113
+ ```rb
114
+ bundle exec rake test:all
115
+ ```
116
+
117
+ You can run specs for a specific dependency combination using:
118
+
119
+ ```rb
120
+ BUNDLE_GEMFILE=gemfiles/pry09.gemfile bundle exec rspec
121
+ ```
122
+
123
+ On CI, the specs are run against each gemfile on each supported version of Ruby.
124
+
82
125
  ## Contributing
83
126
 
84
127
  1. Fork it
@@ -20,6 +20,12 @@ Gem::Specification.new do |s|
20
20
 
21
21
  s.required_ruby_version = ">= 2.0.0"
22
22
 
23
+ s.add_development_dependency "rake", "~> 10.0"
24
+ s.add_development_dependency "rspec", "~> 3.5"
25
+ s.add_development_dependency "rspec-its"
26
+ s.add_development_dependency "yard"
27
+ s.add_development_dependency "kramdown"
28
+
23
29
  s.add_dependency "erubi", ">= 1.0.0"
24
30
  s.add_dependency "coderay", ">= 1.0.0"
25
31
  s.add_dependency "rack", ">= 0.9.0"
@@ -0,0 +1,9 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'rack', RUBY_VERSION < '2.2.2' ? '~> 1.6' : '~> 2.0'
4
+ gem "binding_of_caller"
5
+ gem "pry", "~> 0.10.0"
6
+
7
+ gem 'coveralls', require: false
8
+
9
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'rack', RUBY_VERSION < '2.2.2' ? '~> 1.6' : '~> 2.0'
4
+ gem "pry", "~> 0.11.0pre"
5
+
6
+ gem 'coveralls', require: false
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'rack', RUBY_VERSION < '2.2.2' ? '~> 1.6' : '~> 2.0'
4
+ gem "pry", "~> 0.9.12"
5
+
6
+ gem 'coveralls', require: false
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'rack', RUBY_VERSION < '2.2.2' ? '~> 1.6' : '~> 2.0'
4
+
5
+ gem 'coveralls', require: false
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'rack', RUBY_VERSION < '2.2.2' ? '~> 1.6' : '~> 2.0'
4
+ gem "binding_of_caller"
5
+
6
+ gem 'coveralls', require: false
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 4.2.0"
4
+ gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7'
5
+
6
+ gem 'coveralls', require: false
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,9 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 4.2.0"
4
+ gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7'
5
+ gem "binding_of_caller"
6
+
7
+ gem 'coveralls', require: false
8
+
9
+ gemspec path: "../"
@@ -0,0 +1,9 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 4.2.0"
4
+ gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7'
5
+ gem "haml"
6
+
7
+ gem 'coveralls', require: false
8
+
9
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 5.0.0"
4
+
5
+ gem 'coveralls', require: false
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 5.0.0"
4
+ gem "binding_of_caller"
5
+
6
+ gem 'coveralls', require: false
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 5.0.0"
4
+ gem "haml"
5
+
6
+ gem 'coveralls', require: false
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 5.1.0"
4
+
5
+ gem 'coveralls', require: false
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 5.1.0"
4
+ gem "binding_of_caller"
5
+
6
+ gem 'coveralls', require: false
7
+
8
+ gemspec path: "../"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 5.1.0"
4
+ gem "haml"
5
+
6
+ gem 'coveralls', require: false
7
+
8
+ gemspec path: "../"
data/lib/better_errors.rb CHANGED
@@ -17,6 +17,8 @@ module BetterErrors
17
17
  { symbols: [:macvim, :mvim], sniff: /vim/i, url: proc { |file, line| "mvim://open?url=file://#{file}&line=#{line}" } },
18
18
  { symbols: [:sublime, :subl, :st], sniff: /subl/i, url: "subl://open?url=file://%{file}&line=%{line}" },
19
19
  { symbols: [:textmate, :txmt, :tm], sniff: /mate/i, url: "txmt://open?url=file://%{file}&line=%{line}" },
20
+ { symbols: [:idea], sniff: /idea/i, url: "idea://open?file=%{file}&line=%{line}" },
21
+ { symbols: [:rubymine], sniff: /mine/i, url: "x-mine://open?file=%{file}&line=%{line}" },
20
22
  ]
21
23
 
22
24
  class << self
@@ -44,8 +46,14 @@ module BetterErrors
44
46
  # The ignored instance variables.
45
47
  # @return [Array]
46
48
  attr_accessor :ignored_instance_variables
49
+
50
+ # The maximum variable payload size. If variable.inspect exceeds this,
51
+ # the variable won't be returned.
52
+ # @return int
53
+ attr_accessor :maximum_variable_inspect_size
47
54
  end
48
55
  @ignored_instance_variables = []
56
+ @maximum_variable_inspect_size = 100_000
49
57
 
50
58
  # Returns a proc, which when called with a filename and line number argument,
51
59
  # returns a URL to open the filename and line in the selected editor.
@@ -104,11 +104,28 @@ module BetterErrors
104
104
  end
105
105
 
106
106
  def inspect_value(obj)
107
- CGI.escapeHTML(obj.inspect)
107
+ inspect_raw_value(obj)
108
108
  rescue NoMethodError
109
109
  "<span class='unsupported'>(object doesn't support inspect)</span>"
110
- rescue Exception
111
- "<span class='unsupported'>(exception was raised in inspect)</span>"
110
+ rescue Exception => e
111
+ "<span class='unsupported'>(exception #{CGI.escapeHTML(e.class.to_s)} was raised in inspect)</span>"
112
+ end
113
+
114
+ def inspect_raw_value(obj)
115
+ value = CGI.escapeHTML(obj.inspect)
116
+
117
+ if value_small_enough_to_inspect?(value)
118
+ value
119
+ else
120
+ "<span class='unsupported'>(object too large. "\
121
+ "Modify #{CGI.escapeHTML(obj.class.to_s)}#inspect "\
122
+ "or increase BetterErrors.maximum_variable_inspect_size)</span>"
123
+ end
124
+ end
125
+
126
+ def value_small_enough_to_inspect?(value)
127
+ return true if BetterErrors.maximum_variable_inspect_size.nil?
128
+ value.length <= BetterErrors.maximum_variable_inspect_size
112
129
  end
113
130
 
114
131
  def eval_and_respond(index, code)
@@ -116,13 +116,19 @@ module BetterErrors
116
116
  return unless BetterErrors.logger
117
117
 
118
118
  message = "\n#{@error_page.exception_type} - #{@error_page.exception_message}:\n"
119
- @error_page.backtrace_frames.each do |frame|
120
- message << " #{frame}\n"
121
- end
119
+ message += backtrace_frames.map { |frame| " #{frame}\n" }.join
122
120
 
123
121
  BetterErrors.logger.fatal message
124
122
  end
125
123
 
124
+ def backtrace_frames
125
+ if defined?(Rails) && defined?(Rails.backtrace_cleaner)
126
+ Rails.backtrace_cleaner.clean @error_page.backtrace_frames.map(&:to_s)
127
+ else
128
+ @error_page.backtrace_frames
129
+ end
130
+ end
131
+
126
132
  def internal_call(env, opts)
127
133
  return no_errors_json_response unless @error_page
128
134
  return invalid_error_json_response if opts[:id] != @error_page.id
@@ -394,7 +394,7 @@
394
394
  * Monospace
395
395
  * --------------------------------------------------------------------- */
396
396
 
397
- pre, code, .repl input, .repl .prompt span, textarea, .code_linenums {
397
+ pre, code, .be-repl input, .be-repl .command-line span, textarea, .code_linenums {
398
398
  font-family: menlo, lucida console, monospace;
399
399
  font-size: 8pt;
400
400
  }
@@ -460,7 +460,7 @@
460
460
  font-weight: 200;
461
461
  }
462
462
 
463
- .code, .console, .unavailable {
463
+ .code, .be-console, .unavailable {
464
464
  background: #fff;
465
465
  padding: 5px;
466
466
 
@@ -532,13 +532,13 @@
532
532
  }
533
533
 
534
534
  /* REPL shell */
535
- .console {
535
+ .be-console {
536
536
  padding: 0 1px 10px 1px;
537
537
  border-bottom-left-radius: 2px;
538
538
  border-bottom-right-radius: 2px;
539
539
  }
540
540
 
541
- .console pre {
541
+ .be-console pre {
542
542
  padding: 10px 10px 0 10px;
543
543
  max-height: 400px;
544
544
  overflow-x: none;
@@ -548,30 +548,31 @@
548
548
  white-space: pre-wrap;
549
549
  }
550
550
 
551
- /* .prompt > span + input */
552
- .console .prompt {
551
+ /* .command-line > span + input */
552
+ .be-console .command-line {
553
553
  display: table;
554
554
  width: 100%;
555
555
  }
556
556
 
557
- .console .prompt span,
558
- .console .prompt input {
557
+ .be-console .command-line span,
558
+ .be-console .command-line input {
559
559
  display: table-cell;
560
560
  }
561
561
 
562
- .console .prompt span {
562
+ .be-console .command-line span {
563
563
  width: 1%;
564
564
  padding-right: 5px;
565
565
  padding-left: 10px;
566
+ white-space: pre;
566
567
  }
567
568
 
568
- .console .prompt input {
569
+ .be-console .command-line input {
569
570
  width: 99%;
570
571
  }
571
572
 
572
573
  /* Input box */
573
- .console input,
574
- .console input:focus {
574
+ .be-console input,
575
+ .be-console input:focus {
575
576
  outline: 0;
576
577
  border: 0;
577
578
  padding: 0;
@@ -669,14 +670,14 @@
669
670
 
670
671
  nav.sidebar::-webkit-scrollbar,
671
672
  .inset pre::-webkit-scrollbar,
672
- .console pre::-webkit-scrollbar,
673
+ .be-console pre::-webkit-scrollbar,
673
674
  .code::-webkit-scrollbar {
674
675
  width: 10px;
675
676
  height: 10px;
676
677
  }
677
678
 
678
679
  .inset pre::-webkit-scrollbar-thumb,
679
- .console pre::-webkit-scrollbar-thumb,
680
+ .be-console pre::-webkit-scrollbar-thumb,
680
681
  .code::-webkit-scrollbar-thumb {
681
682
  background: #ccc;
682
683
  border-radius: 5px;
@@ -692,7 +693,7 @@
692
693
  background: -webkit-linear-gradient(left, #aaa, #999);
693
694
  }
694
695
 
695
- .console pre:hover::-webkit-scrollbar-thumb,
696
+ .be-console pre:hover::-webkit-scrollbar-thumb,
696
697
  .inset pre:hover::-webkit-scrollbar-thumb,
697
698
  .code:hover::-webkit-scrollbar-thumb {
698
699
  background: #888;
@@ -809,7 +810,7 @@
809
810
  REPL.prototype.install = function(containerElement) {
810
811
  this.container = containerElement;
811
812
 
812
- this.promptElement = this.container.querySelector(".prompt span");
813
+ this.promptElement = this.container.querySelector(".command-line .prompt");
813
814
  this.inputElement = this.container.querySelector("input");
814
815
  this.outputElement = this.container.querySelector("pre");
815
816
 
@@ -924,7 +925,7 @@
924
925
 
925
926
  el.style.display = "block";
926
927
 
927
- var replInput = el.querySelector('.console input');
928
+ var replInput = el.querySelector('.be-console input');
928
929
  if (replInput) replInput.focus();
929
930
  }
930
931
 
@@ -946,7 +947,7 @@
946
947
  } else {
947
948
  el.innerHTML = response.html;
948
949
 
949
- var repl = el.querySelector(".repl .console");
950
+ var repl = el.querySelector(".be-repl .be-console");
950
951
  if(repl) {
951
952
  new REPL(index).install(repl);
952
953
  }
@@ -8,10 +8,10 @@
8
8
  </div>
9
9
 
10
10
  <% if BetterErrors.binding_of_caller_available? && @frame.frame_binding %>
11
- <div class="repl">
12
- <div class="console">
11
+ <div class="be-repl">
12
+ <div class="be-console">
13
13
  <pre></pre>
14
- <div class="prompt"><span>&gt;&gt;</span> <input/></div>
14
+ <div class="command-line"><span class='prompt'>&gt;&gt;</span> <input tabindex="1"/></div>
15
15
  </div>
16
16
  </div>
17
17
  <% end %>
@@ -1,3 +1,3 @@
1
1
  module BetterErrors
2
- VERSION = "2.3.0"
2
+ VERSION = "2.4.0"
3
3
  end
metadata CHANGED
@@ -1,15 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: better_errors
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charlie Somerville
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-04 00:00:00.000000000 Z
11
+ date: 2017-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '10.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '10.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.5'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.5'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec-its
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: yard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: kramdown
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
13
83
  - !ruby/object:Gem::Dependency
14
84
  name: erubi
15
85
  requirement: !ruby/object:Gem::Requirement
@@ -61,6 +131,7 @@ executables: []
61
131
  extensions: []
62
132
  extra_rdoc_files: []
63
133
  files:
134
+ - ".coveralls.yml"
64
135
  - ".gitignore"
65
136
  - ".travis.yml"
66
137
  - ".yardopts"
@@ -69,6 +140,20 @@ files:
69
140
  - LICENSE.txt
70
141
  - README.md
71
142
  - better_errors.gemspec
143
+ - gemfiles/pry010.gemfile
144
+ - gemfiles/pry011.gemfile
145
+ - gemfiles/pry09.gemfile
146
+ - gemfiles/rack.gemfile
147
+ - gemfiles/rack_boc.gemfile
148
+ - gemfiles/rails42.gemfile
149
+ - gemfiles/rails42_boc.gemfile
150
+ - gemfiles/rails42_haml.gemfile
151
+ - gemfiles/rails50.gemfile
152
+ - gemfiles/rails50_boc.gemfile
153
+ - gemfiles/rails50_haml.gemfile
154
+ - gemfiles/rails51.gemfile
155
+ - gemfiles/rails51_boc.gemfile
156
+ - gemfiles/rails51_haml.gemfile
72
157
  - lib/better_errors.rb
73
158
  - lib/better_errors/code_formatter.rb
74
159
  - lib/better_errors/code_formatter/html.rb
@@ -106,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
191
  version: '0'
107
192
  requirements: []
108
193
  rubyforge_project:
109
- rubygems_version: 2.6.8
194
+ rubygems_version: 2.6.13
110
195
  signing_key:
111
196
  specification_version: 4
112
197
  summary: Better error page for Rails and other Rack apps