rails-response-dumper 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/rails-response-dumper +29 -15
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f3a97f78890f8b28c7d89704adeb5ff8239c1bddad4dc0aabc50b443dcc075f
|
4
|
+
data.tar.gz: 6531326b53a3f906ee6bb104e1096404fe9e9213d4bbcfbcc06df34bcc6e1edf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6f6ba4d8eafe2efad495fa2f4ffc1e36e3d735fd6ac96cce293bcc696fc0d5d0cc2a5b989bd6b3ff4ad66f35a19ea178e4b814e0da1e88ba457a0d33d6ee745
|
7
|
+
data.tar.gz: c0119049c2eaf7b47cf2d0b43450f0a720885fefca895a849d24aba8d855d3bdddf1e09a041a4a615cf1a1e2fdb17ba6babfd94142f3d4c574794339bf62d716
|
data/bin/rails-response-dumper
CHANGED
@@ -40,6 +40,20 @@ class ResponseDumper
|
|
40
40
|
def expect_status_code!(status_code)
|
41
41
|
@expected_status_code = Rack::Utils::SYMBOL_TO_STATUS_CODE[status_code]
|
42
42
|
end
|
43
|
+
|
44
|
+
def responses
|
45
|
+
@responses ||= []
|
46
|
+
end
|
47
|
+
|
48
|
+
[:get, :post, :patch, :put, :head, :delete].each do |method|
|
49
|
+
module_eval <<~RUBY, __FILE__, __LINE__ + 1
|
50
|
+
def #{method}(...)
|
51
|
+
result = super
|
52
|
+
self.responses << response
|
53
|
+
result
|
54
|
+
end
|
55
|
+
RUBY
|
56
|
+
end
|
43
57
|
end
|
44
58
|
|
45
59
|
def run_dumps
|
@@ -50,10 +64,6 @@ def run_dumps
|
|
50
64
|
Dir[Rails.root.join('dumpers/**/*.rb')].each { |f| require f }
|
51
65
|
|
52
66
|
ResponseDumper.dumpers.each do |klass|
|
53
|
-
klass_path = klass.name.underscore
|
54
|
-
dumper_dir = "#{dumps_dir}/#{klass_path}"
|
55
|
-
FileUtils.mkdir_p dumper_dir
|
56
|
-
|
57
67
|
klass.instance_methods.each do |method|
|
58
68
|
next unless method.start_with?('dump_')
|
59
69
|
|
@@ -66,18 +76,22 @@ def run_dumps
|
|
66
76
|
raise ActiveRecord::Rollback
|
67
77
|
end
|
68
78
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
79
|
+
klass_path = klass.name.underscore
|
80
|
+
dumper_dir = "#{dumps_dir}/#{klass_path}/#{method}"
|
81
|
+
FileUtils.mkdir_p dumper_dir
|
82
|
+
|
83
|
+
dumper.responses.each_with_index do |response, index|
|
84
|
+
unless response.status == dumper.expected_status_code
|
85
|
+
raise <<~ERROR.squish
|
86
|
+
Dumped response has unexpected status code #{response.status} #{response.status_message}
|
87
|
+
(expected #{dumper.expected_status_code})
|
88
|
+
ERROR
|
89
|
+
end
|
90
|
+
|
91
|
+
mime = response.content_type.split(/ *; */).first
|
92
|
+
extension = MIME::Types[mime].first.preferred_extension
|
93
|
+
File.write("#{dumper_dir}/#{index}.#{extension}", response.body)
|
76
94
|
end
|
77
|
-
|
78
|
-
mime = response.content_type.split(/ *; */).first
|
79
|
-
extension = MIME::Types[mime].first.preferred_extension
|
80
|
-
File.write("#{dumper_dir}/#{method}.#{extension}", response.body)
|
81
95
|
end
|
82
96
|
end
|
83
97
|
end
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-response-dumper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.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: 2022-
|
11
|
+
date: 2022-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '6.1'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '8'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '6.1'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '8'
|
27
33
|
description: |
|
28
34
|
Rails Response Dumper is a library and command line tool to dump HTTP
|
29
35
|
responses from a Rails application to the file system. These responses can
|