better_errors 2.3.0 → 2.4.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.

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