rails-response-dumper 5.0.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06cd448e735f58a98621946c8469f104ed6d732a12d7434e5e35a702b95f30f0
|
4
|
+
data.tar.gz: e77dcfbeca89d6f0379a4e52e31fea8bd6229eb83546dabff2af014810c7be34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb2761d033cb2ddf080f79417139b6515e5586e41511e0c030dd346577f7df41bb80281cfc837683f9cdf2c5f24ac4c4fa30b818ce3d5e83dc9fae2ae057d350
|
7
|
+
data.tar.gz: 3534eb64a93627900862d6bd9d58b878b865b7d384b42b56f140301840aa72134d120c66a84c6a7d355a5d831bc9471a3c99eabea086681a4bee49e176f3ffff
|
data/bin/rails-response-dumper
CHANGED
@@ -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,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsResponseDumper
|
4
|
+
COLORS = {
|
5
|
+
cyan: 36,
|
6
|
+
green: 32,
|
7
|
+
red: 31
|
8
|
+
}.freeze
|
9
|
+
|
10
|
+
COLORIZE = $stdout.tty?
|
11
|
+
|
12
|
+
def self.print_color(text, color)
|
13
|
+
if COLORIZE
|
14
|
+
print colorize(text, color)
|
15
|
+
else
|
16
|
+
print text
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.colorize(text, color)
|
21
|
+
"\e[#{COLORS[color]}m#{text}\e[0m"
|
22
|
+
end
|
23
|
+
end
|
@@ -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
|
@@ -1,9 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative 'defined'
|
4
|
+
require_relative 'colorize'
|
4
5
|
|
5
6
|
module RailsResponseDumper
|
6
7
|
class Runner
|
8
|
+
attr_reader :options
|
9
|
+
|
10
|
+
def initialize(options)
|
11
|
+
@options = options
|
12
|
+
end
|
13
|
+
|
7
14
|
def run_dumps
|
8
15
|
dumps_dir = Rails.root.join('dumps')
|
9
16
|
FileUtils.rm_rf dumps_dir
|
@@ -54,10 +61,12 @@ module RailsResponseDumper
|
|
54
61
|
dump = {
|
55
62
|
request: {
|
56
63
|
method: request.method,
|
57
|
-
url: request.url
|
64
|
+
url: request.url,
|
65
|
+
body: request.body.string
|
58
66
|
},
|
59
67
|
response: {
|
60
68
|
status: response.status,
|
69
|
+
status_text: response.status_message,
|
61
70
|
headers: response.headers,
|
62
71
|
body: response.body
|
63
72
|
}
|
@@ -65,25 +74,33 @@ module RailsResponseDumper
|
|
65
74
|
File.write("#{dumper_dir}/#{index}.json", JSON.pretty_generate(dump))
|
66
75
|
end
|
67
76
|
|
68
|
-
|
77
|
+
RailsResponseDumper.print_color('.', :green)
|
69
78
|
rescue StandardError => e
|
70
79
|
errors << {
|
71
80
|
dumper_location: dump_block.block.source_location.join(':'),
|
72
81
|
name: "#{defined.name}.#{dump_block.name}",
|
73
|
-
|
74
|
-
backtrace: e.cause&.backtrace || e.exception.backtrace
|
82
|
+
exception: e
|
75
83
|
}
|
76
84
|
|
77
|
-
|
85
|
+
RailsResponseDumper.print_color('F', :red)
|
86
|
+
|
87
|
+
break if options[:fail_fast]
|
78
88
|
end
|
79
89
|
end
|
80
90
|
|
81
91
|
puts
|
82
92
|
return if errors.blank?
|
83
93
|
|
94
|
+
puts
|
84
95
|
errors.each do |error|
|
85
|
-
|
86
|
-
|
96
|
+
RailsResponseDumper.print_color(
|
97
|
+
"#{error[:dumper_location]} #{error[:name]} received #{error[:exception]}\n",
|
98
|
+
:red
|
99
|
+
)
|
100
|
+
error[:exception].full_message(highlight: RailsResponseDumper::COLORIZE).lines do |line|
|
101
|
+
RailsResponseDumper.print_color(line, :cyan)
|
102
|
+
end
|
103
|
+
puts
|
87
104
|
end
|
88
105
|
|
89
106
|
exit(false)
|
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.
|
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:
|
11
|
+
date: 2023-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -56,8 +56,10 @@ extra_rdoc_files: []
|
|
56
56
|
files:
|
57
57
|
- bin/rails-response-dumper
|
58
58
|
- lib/rails_response_dumper.rb
|
59
|
+
- lib/rails_response_dumper/colorize.rb
|
59
60
|
- lib/rails_response_dumper/defined.rb
|
60
61
|
- lib/rails_response_dumper/dump_block.rb
|
62
|
+
- lib/rails_response_dumper/option_parser.rb
|
61
63
|
- lib/rails_response_dumper/runner.rb
|
62
64
|
- lib/response_dumper.rb
|
63
65
|
homepage: https://github.com/Pioneer-Valley-Books/rails-response-dumper
|