reqres_rspec 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/reqres_rspec/collector.rb +17 -8
- data/lib/reqres_rspec/templates/spec.erb +10 -3
- data/lib/reqres_rspec/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af1fa8a421fe25c73ee8379ca80b33acab8ff382
|
4
|
+
data.tar.gz: 3e0618b1ed96673dd43ee51e0b3134e78742a60f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 658df28bd196eedfec20e21a2ce442c28c5ba913c9fc109d8ec4324ad50cc6dea342135faeb2ac27d8ce095eda2cb11b25f6a043a17d193aaf5f8b05d0f9b8b1
|
7
|
+
data.tar.gz: 300c2f6fb90105b4907ad2bdf7e11b48fde67d8b58db1f5df29d7ecfec974cef5399afad19e762aa86e67a329e648d35591d41c3256d00254ecedbaad72f7aa6
|
@@ -69,8 +69,8 @@ module ReqresRspec
|
|
69
69
|
if request_params['controller'] && request_params['action']
|
70
70
|
description = get_action_description(request_params['controller'], request_params['action'])
|
71
71
|
params = get_action_params(request_params['controller'], request_params['action'])
|
72
|
-
query_parameters = request_params.reject { |p| %w[controller action].include? p }
|
73
|
-
backend_parameters = request_params.reject { |p| !%w[controller action].include? p }
|
72
|
+
query_parameters = request_params.reject { |p| %w[controller action format].include? p }
|
73
|
+
backend_parameters = request_params.reject { |p| !%w[controller action format].include? p }
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
@@ -107,6 +107,15 @@ module ReqresRspec
|
|
107
107
|
headers: read_response_headers(response)
|
108
108
|
}
|
109
109
|
}
|
110
|
+
|
111
|
+
# cleanup query params
|
112
|
+
begin
|
113
|
+
body_hash = JSON.parse(self.records.last[:request][:body])
|
114
|
+
query_hash = self.records.last[:request][:query_parameters]
|
115
|
+
diff = Hash[*((query_hash.size > body_hash.size) ? query_hash.to_a - body_hash.to_a : body_hash.to_a - query_hash.to_a).flatten]
|
116
|
+
self.records.last[:request][:query_parameters] = diff
|
117
|
+
rescue
|
118
|
+
end
|
110
119
|
end
|
111
120
|
|
112
121
|
def prepare_filename_for(metadata)
|
@@ -185,7 +194,7 @@ module ReqresRspec
|
|
185
194
|
|
186
195
|
action_line = nil
|
187
196
|
lines.each_with_index do |line, index|
|
188
|
-
if line.match
|
197
|
+
if line.match(/\s*def #{action}/) # def show
|
189
198
|
action_line = index
|
190
199
|
break
|
191
200
|
end
|
@@ -197,7 +206,7 @@ module ReqresRspec
|
|
197
206
|
while action_line > 0 && was_comment
|
198
207
|
action_line -= 1
|
199
208
|
|
200
|
-
if lines[action_line].match
|
209
|
+
if lines[action_line].match(/\s*#/)
|
201
210
|
comment_lines << lines[action_line].strip
|
202
211
|
else
|
203
212
|
was_comment = false
|
@@ -219,10 +228,10 @@ module ReqresRspec
|
|
219
228
|
|
220
229
|
description = []
|
221
230
|
comment_lines.each_with_index do |line, index|
|
222
|
-
if line.match
|
231
|
+
if line.match(/\s*#\s*@description/) # @description blah blah
|
223
232
|
description << line.gsub(/\A\s*#\s*@description/, '').strip
|
224
233
|
comment_lines[(index + 1)..-1].each do |multiline|
|
225
|
-
if !multiline.match
|
234
|
+
if !multiline.match(/\s*#\s*@param/)
|
226
235
|
description << "\n"
|
227
236
|
description << multiline.gsub(/\A\s*#\s*/, '').strip
|
228
237
|
else
|
@@ -243,7 +252,7 @@ module ReqresRspec
|
|
243
252
|
comments_raw = []
|
244
253
|
has_param = false
|
245
254
|
comment_lines.each do |line|
|
246
|
-
if line.match
|
255
|
+
if line.match(/\s*#\s*@param/) # @param id required Integer blah blah
|
247
256
|
has_param = true
|
248
257
|
comments_raw << ''
|
249
258
|
end
|
@@ -258,7 +267,7 @@ module ReqresRspec
|
|
258
267
|
|
259
268
|
comments = []
|
260
269
|
comments_raw.each do |comment|
|
261
|
-
match_data = comment.match
|
270
|
+
match_data = comment.match(/(?<name>[a-z0-9A-Z_\[\]]+)?\s*(?<required>#{PARAM_IMPORTANCES.join('|')})?\s*(?<type>#{PARAM_TYPES.join('|')})?\s*(?<description>.*)/m)
|
262
271
|
|
263
272
|
if match_data
|
264
273
|
comments << {
|
@@ -197,10 +197,17 @@
|
|
197
197
|
<code><%= @record[:request][:method] %> <%= @record[:request][:path] %></code>
|
198
198
|
|
199
199
|
<h5>Query parameters</h5>
|
200
|
-
|
200
|
+
<% if @record[:request][:query_parameters].empty? %>
|
201
|
+
<code>empty</code>
|
202
|
+
<% else %>
|
203
|
+
<% lines = ::JSON.pretty_generate(@record[:request][:query_parameters]) %>
|
204
|
+
<code>
|
205
|
+
<%= CodeRay.scan(lines, :json).div(line_numbers: :table) %>
|
206
|
+
</code>
|
207
|
+
<% end %>
|
201
208
|
|
202
|
-
|
203
|
-
<code>TODO</code
|
209
|
+
<!--<h5><a href="http://curl.haxx.se/docs/manpage.html">CURL</a> Example</h5>
|
210
|
+
<code>TODO</code>-->
|
204
211
|
|
205
212
|
<h5>Body</h5>
|
206
213
|
<% if @record[:request][:body].present? %>
|
data/lib/reqres_rspec/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reqres_rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- rilian
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: coderay
|