rails-response-dumper 5.1.0 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d5d4bb6a00afe75289a4dfe382c2c5c53bc822c5e1a255941d8b41e49a343ac
4
- data.tar.gz: 3e7f9b81d45db0273a373a16268e4839d9f2bf14692bf4abc4fd1d2a18226654
3
+ metadata.gz: 06cd448e735f58a98621946c8469f104ed6d732a12d7434e5e35a702b95f30f0
4
+ data.tar.gz: e77dcfbeca89d6f0379a4e52e31fea8bd6229eb83546dabff2af014810c7be34
5
5
  SHA512:
6
- metadata.gz: 8060df3b6dfe5ac8969dc8fd6e528e3af142a6e809500df39073aa74e61e8e9a78de98253c17e3f7ccdad6dfa68407dd5d38994fe41fc5b948c6c875776a47e4
7
- data.tar.gz: 07bfb42c2b1d4fb680a035792d4a29bf7bd376fb2901787c7ec4c6f995d90ef746f29fa9c3a2b78e4bcea2a580f4809a95a839816040e818618d86381b7410a9
6
+ metadata.gz: fb2761d033cb2ddf080f79417139b6515e5586e41511e0c030dd346577f7df41bb80281cfc837683f9cdf2c5f24ac4c4fa30b818ce3d5e83dc9fae2ae057d350
7
+ data.tar.gz: 3534eb64a93627900862d6bd9d58b878b865b7d384b42b56f140301840aa72134d120c66a84c6a7d355a5d831bc9471a3c99eabea086681a4bee49e176f3ffff
@@ -8,5 +8,5 @@ require 'rails_response_dumper'
8
8
  abort 'The Rails environment is running in production mode!' if Rails.env.production?
9
9
  ActiveRecord::Migration.maintain_test_schema! if defined?(ActiveRecord::Base)
10
10
 
11
- runner = RailsResponseDumper::Runner.new
11
+ runner = RailsResponseDumper::Runner.new(RailsResponseDumper.parse_options!)
12
12
  runner.run_dumps
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'optparse'
4
+
5
+ module RailsResponseDumper
6
+ def self.parse_options!
7
+ options = {}
8
+
9
+ OptionParser.new do |opts|
10
+ opts.on('--fail-fast', 'Abort the run after first failure.') do |v|
11
+ options[:fail_fast] = v
12
+ end
13
+ end.parse!
14
+
15
+ options.freeze
16
+ end
17
+ end
@@ -5,6 +5,12 @@ require_relative 'colorize'
5
5
 
6
6
  module RailsResponseDumper
7
7
  class Runner
8
+ attr_reader :options
9
+
10
+ def initialize(options)
11
+ @options = options
12
+ end
13
+
8
14
  def run_dumps
9
15
  dumps_dir = Rails.root.join('dumps')
10
16
  FileUtils.rm_rf dumps_dir
@@ -73,23 +79,28 @@ module RailsResponseDumper
73
79
  errors << {
74
80
  dumper_location: dump_block.block.source_location.join(':'),
75
81
  name: "#{defined.name}.#{dump_block.name}",
76
- message: e.exception.message,
77
- backtrace: e.cause&.backtrace || e.exception.backtrace
82
+ exception: e
78
83
  }
79
84
 
80
85
  RailsResponseDumper.print_color('F', :red)
86
+
87
+ break if options[:fail_fast]
81
88
  end
82
89
  end
83
90
 
84
91
  puts
85
92
  return if errors.blank?
86
93
 
94
+ puts
87
95
  errors.each do |error|
88
96
  RailsResponseDumper.print_color(
89
- "#{error[:dumper_location]} #{error[:name]} received #{error[:message]}\n",
97
+ "#{error[:dumper_location]} #{error[:name]} received #{error[:exception]}\n",
90
98
  :red
91
99
  )
92
- RailsResponseDumper.print_color("#{error[:backtrace][0]}\n\n", :cyan)
100
+ error[:exception].full_message(highlight: RailsResponseDumper::COLORIZE).lines do |line|
101
+ RailsResponseDumper.print_color(line, :cyan)
102
+ end
103
+ puts
93
104
  end
94
105
 
95
106
  exit(false)
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require_relative 'rails_response_dumper/option_parser'
3
4
  require_relative 'rails_response_dumper/runner'
4
5
  require_relative 'response_dumper'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-response-dumper
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.0
4
+ version: 5.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pioneer Valley Books
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-12 00:00:00.000000000 Z
11
+ date: 2023-01-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -59,6 +59,7 @@ files:
59
59
  - lib/rails_response_dumper/colorize.rb
60
60
  - lib/rails_response_dumper/defined.rb
61
61
  - lib/rails_response_dumper/dump_block.rb
62
+ - lib/rails_response_dumper/option_parser.rb
62
63
  - lib/rails_response_dumper/runner.rb
63
64
  - lib/response_dumper.rb
64
65
  homepage: https://github.com/Pioneer-Valley-Books/rails-response-dumper