rails-response-dumper 5.3.0 → 6.0.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/lib/rails_response_dumper/option_parser.rb +21 -1
- data/lib/rails_response_dumper/runner.rb +22 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 788b942da1a65cd0b19a82d33f23bba37cb4a260319f37f17c558f71d33e44b8
|
4
|
+
data.tar.gz: af367f3c8103532b4ab7f9ccfb9942b458a0b48c8a31d5cec3ce79c4a6515c5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3558c86a4f92d736449a14b5a24074759c686eb98b0ef57386412d45a081c4a184470b2dec61f527e2cb5fa34e9163fb6a0cbc72e2b043b4f05c19d0b328de06
|
7
|
+
data.tar.gz: 5998a7c43305baa14faaa4e6591aa3cc1b6fea49c4f567ad3551694011d9c6592b2a35457915790f38a5bb245a78e61f44808a38d832dcb6378986856ef38db3
|
@@ -4,9 +4,23 @@ require 'optparse'
|
|
4
4
|
|
5
5
|
module RailsResponseDumper
|
6
6
|
def self.parse_options!
|
7
|
-
options = {}
|
7
|
+
options = { 'dumps-dir' => Rails.root.join('dumps') }
|
8
8
|
|
9
9
|
OptionParser.new do |opts|
|
10
|
+
opts.banner += ' [glob]'
|
11
|
+
|
12
|
+
opts.separator ''
|
13
|
+
opts.separator 'Filtering:'
|
14
|
+
opts.separator 'Run for specific files or globs:'
|
15
|
+
opts.separator ' rails-response-dumper path/to/a_dumper.rb'
|
16
|
+
|
17
|
+
opts.separator ''
|
18
|
+
opts.separator 'Options:'
|
19
|
+
|
20
|
+
opts.on('--dumps-dir PATH', 'Output dumps to this directory.') do |v|
|
21
|
+
options['dumps-dir'] = v
|
22
|
+
end
|
23
|
+
|
10
24
|
opts.on('--fail-fast', 'Abort the run after first failure.') do |v|
|
11
25
|
options[:fail_fast] = v
|
12
26
|
end
|
@@ -18,8 +32,14 @@ module RailsResponseDumper
|
|
18
32
|
opts.on('--order TYPE', 'Run dumps by the specified order type.') do |v|
|
19
33
|
options[:order] = v
|
20
34
|
end
|
35
|
+
|
36
|
+
opts.on('--exclude-response-headers', 'Do not output response headers.') do |v|
|
37
|
+
options[:exclude_response_headers] = v
|
38
|
+
end
|
21
39
|
end.parse!
|
22
40
|
|
41
|
+
options[:filenames] = ARGV
|
42
|
+
|
23
43
|
options.freeze
|
24
44
|
end
|
25
45
|
end
|
@@ -12,15 +12,29 @@ module RailsResponseDumper
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def run_dumps
|
15
|
-
dumps_dir =
|
16
|
-
|
15
|
+
dumps_dir = options['dumps-dir']
|
16
|
+
|
17
|
+
if options[:filenames].present?
|
18
|
+
globs = options[:filenames]
|
19
|
+
else
|
20
|
+
globs = ['dumpers/**/*.rb']
|
21
|
+
FileUtils.rm_rf dumps_dir
|
22
|
+
end
|
23
|
+
|
17
24
|
FileUtils.mkdir_p dumps_dir
|
18
25
|
|
19
|
-
|
26
|
+
globs.each do |glob|
|
27
|
+
Dir[Rails.root.join(glob)].each { |f| require f }
|
28
|
+
end
|
20
29
|
|
21
30
|
errors = []
|
22
31
|
|
23
32
|
dumper_blocks = RailsResponseDumper::Defined.dumpers.flat_map do |defined|
|
33
|
+
if options[:filenames].present?
|
34
|
+
# clear previous dumps for that file in case removed from updated dump file
|
35
|
+
FileUtils.rm_rf "#{dumps_dir}/#{defined.name.underscore}/"
|
36
|
+
end
|
37
|
+
|
24
38
|
defined.blocks.map do |dump_block|
|
25
39
|
[defined, dump_block]
|
26
40
|
end
|
@@ -81,6 +95,7 @@ module RailsResponseDumper
|
|
81
95
|
end
|
82
96
|
|
83
97
|
request = response.request
|
98
|
+
|
84
99
|
dump = {
|
85
100
|
request: {
|
86
101
|
method: request.method,
|
@@ -89,11 +104,14 @@ module RailsResponseDumper
|
|
89
104
|
},
|
90
105
|
response: {
|
91
106
|
status: response.status,
|
92
|
-
|
107
|
+
statusText: response.status_message,
|
93
108
|
headers: response.headers,
|
94
109
|
body: response.body
|
95
110
|
}
|
96
111
|
}
|
112
|
+
|
113
|
+
dump[:response].delete(:headers) if options[:exclude_response_headers]
|
114
|
+
|
97
115
|
File.write("#{dumper_dir}/#{index}.json", JSON.pretty_generate(dump))
|
98
116
|
end
|
99
117
|
|
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:
|
4
|
+
version: 6.0.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: 2023-
|
11
|
+
date: 2023-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|