rpdoc 0.1.9 → 0.1.12

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: d38555025c1b436ea3d194ed8a19cde8dbf15ea5cc88a56c60f4ad5251ab8677
4
- data.tar.gz: c3dab44f8ce28e9ed61a6ddfe18c3ce269be12b14455e903c0bf74be7a68f4da
3
+ metadata.gz: 8bd4a2fdf6339f7ab5a963d52ad2ccc3950e7edcca3ffbd7882be39e995d1014
4
+ data.tar.gz: 228c44ebef79a9852e08a736935c9334cb4cd1e8decca079ff5b38c18fa70cee
5
5
  SHA512:
6
- metadata.gz: 891ef2d38410d4f0fbd8f6d189a35408534fb8586589346af08557bc61382ede5dfd856b17ee67a77124bbf996eb3f8e9f0b39d613ee5573ab294aa555853986
7
- data.tar.gz: 0bbdd35bd8ab65d597a8bca5adca8a2d93519b34680a558766ff9c067564cf3c57beb5088fdc8d6f016e9a7ab72567ba0b161d8576aaf12da11ef74ccaba83f1
6
+ metadata.gz: e8480e75031c7dadda942348f6ec22799ac217ea78202aea5c53131ff67298e83d25d7cb5b4430eb3c6b870e2c4362650023c0883efe8b152eb673fd2ed2ea4d
7
+ data.tar.gz: 792babfa02d6b6a54b52f42124b3e519bad2ee2c9a63b197073dfa075ede8a1e50523d4e9334af1b5776d5ba64ed97e737878b960449f31415c7873d7506f2db
data/.gitlab-ci.yml CHANGED
@@ -24,4 +24,4 @@ to_gem:
24
24
  - gem build rpdoc.gemspec
25
25
  - gem push $GEM_NAME
26
26
  only:
27
- - master
27
+ - /release-\d+\.\d+\.\d+(\.\d+)?/
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
+ ## [0.1.12] - 2022-09-06
2
+ - Handle encoding error
3
+
4
+ ## [0.1.11] - 2022-08-09
5
+ - Check encoding names using instance (PR#1)
6
+
7
+ ## [0.1.10] - 2022-07-14
8
+ - Enable form-data request body
9
+
1
10
  ## [0.1.7, 0.1.8, 0.1.9] - 2022-02-14
2
11
  - Fix rspec parse zip response bug
12
+
3
13
  ## [0.1.6] - 2022-02-14
4
14
  - Update licnese
5
15
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rpdoc (0.1.2)
4
+ rpdoc (0.1.11)
5
5
  json_requester (~> 1.0)
6
6
 
7
7
  GEM
@@ -33,35 +33,19 @@ GEM
33
33
  crass (1.0.6)
34
34
  diff-lcs (1.4.4)
35
35
  erubi (1.10.0)
36
- faraday (1.8.0)
37
- faraday-em_http (~> 1.0)
38
- faraday-em_synchrony (~> 1.0)
39
- faraday-excon (~> 1.1)
40
- faraday-httpclient (~> 1.0.1)
41
- faraday-net_http (~> 1.0)
42
- faraday-net_http_persistent (~> 1.1)
43
- faraday-patron (~> 1.0)
44
- faraday-rack (~> 1.0)
45
- multipart-post (>= 1.2, < 3)
36
+ faraday (2.3.0)
37
+ faraday-net_http (~> 2.0)
46
38
  ruby2_keywords (>= 0.0.4)
47
- faraday-em_http (1.0.0)
48
- faraday-em_synchrony (1.0.0)
49
- faraday-excon (1.1.0)
50
- faraday-httpclient (1.0.1)
51
- faraday-net_http (1.0.1)
52
- faraday-net_http_persistent (1.2.0)
53
- faraday-patron (1.0.0)
54
- faraday-rack (1.0.0)
39
+ faraday-net_http (2.0.3)
55
40
  i18n (1.8.10)
56
41
  concurrent-ruby (~> 1.0)
57
- json_requester (1.0.3)
42
+ json_requester (1.0.7)
58
43
  faraday (>= 1.0.0)
59
44
  loofah (2.12.0)
60
45
  crass (~> 1.0.2)
61
46
  nokogiri (>= 1.5.9)
62
47
  method_source (1.0.0)
63
48
  minitest (5.14.4)
64
- multipart-post (2.1.1)
65
49
  nokogiri (1.12.5-x86_64-darwin)
66
50
  racc (~> 1.4)
67
51
  parallel (1.21.0)
@@ -132,4 +116,4 @@ DEPENDENCIES
132
116
  rubocop (~> 1.0)
133
117
 
134
118
  BUNDLED WITH
135
- 2.2.15
119
+ 2.2.32
data/VERSION.md CHANGED
@@ -1 +1 @@
1
- 0.1.9
1
+ 0.1.12
@@ -52,7 +52,7 @@ module Rpdoc
52
52
  data[:body] = JSON.pretty_generate(JSON.parse(@rspec_response.body)) rescue nil
53
53
  else
54
54
  body = @rspec_response.body
55
- data[:body] = body.encoding.to_s == 'ASCII-8BIT' ? body.force_encoding("ISO-8859-1").encode("UTF-8") : body
55
+ data[:body] = body.encoding == Encoding::BINARY ? (body.force_encoding(Encoding::ISO_8859_1).encode(Encoding::UTF_8) rescue body) : body
56
56
  end
57
57
  data
58
58
  end
@@ -75,13 +75,14 @@ module Rpdoc
75
75
  end.compact
76
76
  query_string = @rspec_request.query_string.split('&').map do |string|
77
77
  key, value = string.split('=')
78
+ next if key.nil? || value.nil?
78
79
  {
79
80
  key: key,
80
81
  value: CGI.unescape(value),
81
82
  text: 'text'
82
83
  }
83
- end
84
- @original_request_data = {
84
+ end.compact
85
+ {
85
86
  method: @rspec_request.method,
86
87
  header: filter_headers,
87
88
  url: {
@@ -90,18 +91,57 @@ module Rpdoc
90
91
  path: @rspec_request.path.split('/'),
91
92
  query: query_string
92
93
  },
93
- body: nil
94
+ body: original_request_data_body
94
95
  }
95
- @original_request_data[:body] = {
96
- mode: 'raw',
97
- raw: JSON.pretty_generate(JSON.parse(@rspec_request.headers['RAW_POST_DATA'])),
98
- options: {
99
- raw: {
100
- language: "json"
96
+ end
97
+
98
+ def original_request_data_body
99
+ if @rspec_request.headers['RAW_POST_DATA'].present?
100
+ json_body = JSON.pretty_generate(JSON.parse(@rspec_request.headers['RAW_POST_DATA'])) rescue nil
101
+ {
102
+ mode: 'raw',
103
+ raw: json_body || @rspec_request.headers['RAW_POST_DATA'],
104
+ options: {
105
+ raw: {
106
+ language: json_body.present? ? 'json' : 'text'
107
+ }
101
108
  }
102
109
  }
103
- } if @rspec_request.headers['RAW_POST_DATA'].present?
104
- @original_request_data
105
- end
110
+ elsif @rspec_request.form_data?
111
+ {
112
+ mode: 'formdata',
113
+ formdata: form_data_object_to_array(@rspec_request.request_parameters)
114
+ }
115
+ else
116
+ nil
117
+ end
118
+ end
119
+
120
+ def form_data_object_to_array(form_data, prefix: nil)
121
+ array = []
122
+ form_data.each do |key, value|
123
+ key = "#{prefix}[#{key}]" if prefix.present?
124
+ if value.is_a?(Hash)
125
+ array += form_data_object_to_array(value, prefix: key)
126
+ elsif value.is_a?(Array)
127
+ value.each do |item|
128
+ array += form_data_object_to_array(item, prefix: "#{key}[]")
129
+ end
130
+ elsif value.is_a?(ActionDispatch::Http::UploadedFile)
131
+ array << {
132
+ key: key,
133
+ src: value.original_filename,
134
+ type: 'file'
135
+ }
136
+ else
137
+ array << {
138
+ key: key,
139
+ value: value,
140
+ type: 'text'
141
+ }
142
+ end
143
+ end
144
+ array
145
+ end
106
146
  end
107
147
  end
data/lib/rpdoc/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rpdoc
4
- VERSION = "0.1.9"
4
+ VERSION = "0.1.12"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rpdoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - yuntai
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-02-14 00:00:00.000000000 Z
11
+ date: 2022-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_requester