faraday-encode_xml 0.1.0 → 1.0.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: 7250a2322ac3dac1774e8514f5acad9db83fe76eedb4f84609cc6e883d79d215
4
- data.tar.gz: b3c9dcaf39c8bff4a967a03367f62c740c682af8dd423821641dce66103df19a
3
+ metadata.gz: 4e6ddc26f83af475e9849f33d88623343dbbfd15c9442aee2cdf4966d9423d39
4
+ data.tar.gz: 6567bfdf42e8d0b8db251c624d83e2a809e5c8dd9964d778195172b8bd16680d
5
5
  SHA512:
6
- metadata.gz: cd9e89c7aa7c30c4c4dd5dbae1930f8c2c7fe5581960a79b0c9cd574e9c8f27321b8c559095b3dc8029aadedb5444a2ecbb3956fec437dd45c064f3531280e7e
7
- data.tar.gz: e29bc25dc3425ef4db407ba3529fe1c353fb74a7d1a2c60c6099c1920fb907acb98e54c7dd5ca6b23de458179cc67990ca8f5d6c998b72709d87e157ea5685ea
6
+ metadata.gz: 93b0ce16941734bc55315b5a0add5a50af1016067ee3d6922a07ca267e308842242ee88d2846fe5f4c24408f1b1305a576d71a661f6c7997d4c8c345159eb149
7
+ data.tar.gz: 1669103508589fb19c6e22994c3d9673c422d91596ea527cd5b2a9c1360462542a1ed2ced695defa565937b0ad12d13040e26cf7bf5c19b2634c4f7953f2dbaa
data/CHANGELOG.md CHANGED
@@ -4,6 +4,20 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 1.0.0 (2022-11-19)
8
+
9
+ * Update Faraday to version 2.
10
+ * Update development dependencies.
11
+ * Drop Ruby 2.5 support.
12
+ * Add Ruby 3.1 for CI.
13
+ * Add code coverage gems, scripts and CI tasks.
14
+ * Improve CI config.
15
+
16
+ ## 0.2.0 (2021-10-20)
17
+
18
+ * Rework classes hierarchy to something more correct.
19
+ * Add usage example in README.
20
+
7
21
  ## 0.1.0 (2021-10-20)
8
22
 
9
23
  * Initial release.
data/README.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Faraday Encode XML
2
2
 
3
- This repo is a [Faraday][https://github.com/lostisland/faraday] middleware for encoding requests as XML.
3
+ [![Cirrus CI - Base Branch Build Status](https://img.shields.io/cirrus/github/AlexWayfer/faraday-encode_xml?style=flat-square)](https://cirrus-ci.com/github/AlexWayfer/faraday-encode_xml)
4
+ [![Codecov branch](https://img.shields.io/codecov/c/github/AlexWayfer/faraday-encode_xml/main.svg?style=flat-square)](https://codecov.io/gh/AlexWayfer/faraday-encode_xml)
5
+ [![Code Climate](https://img.shields.io/codeclimate/maintainability/AlexWayfer/faraday-encode_xml.svg?style=flat-square)](https://codeclimate.com/github/AlexWayfer/faraday-encode_xml)
6
+ [![Depfu](https://img.shields.io/depfu/AlexWayfer/faraday-encode_xml?style=flat-square)](https://depfu.com/repos/github/AlexWayfer/faraday-encode_xml)
7
+ [![Gem](https://img.shields.io/gem/v/faraday-encode_xml.svg?style=flat-square)](https://rubygems.org/gems/faraday-encode_xml)
8
+ [![License](https://img.shields.io/github/license/AlexWayfer/faraday-encode_xml.svg?style=flat-square)](LICENSE.txt)
9
+
10
+ This repo is a [Faraday](https://github.com/lostisland/faraday) middleware for encoding requests as XML.
4
11
  Faraday is an HTTP client library that provides a common interface for making requests.
5
12
 
6
13
  ## Installation
@@ -28,7 +35,22 @@ gem install faraday-encode_xml
28
35
  ```ruby
29
36
  require 'faraday/encode_xml'
30
37
 
31
- # TODO
38
+ connection = Faraday.new do |faraday|
39
+ ## This gem only encodes requests
40
+ faraday.request :xml
41
+
42
+ ## For responses deconding use `faraday_middleware` gem and such code:
43
+ # require 'faraday_middleware'
44
+ # faraday.response :xml
45
+
46
+ ## For example `httpbingo` responses as JSON, so let's enable it:
47
+ require 'faraday_middleware'
48
+ faraday.response :json
49
+ end
50
+
51
+ response = connection.post('https://httpbingo.org/post', { a: 1, b: 'foo', c: true })
52
+
53
+ puts response.body['data'] ## => <a>1</a><b>foo</b><c>true</c>
32
54
  ```
33
55
 
34
56
  ## Development
@@ -1,7 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'faraday'
4
+ require 'gyoku' unless defined?(::Gyoku)
5
+
3
6
  module Faraday
4
- class Middleware
7
+ module EncodeXML
5
8
  # Request middleware that encodes the body as XML.
6
9
  #
7
10
  # Processes only requests with matching Content-type or those without a type.
@@ -9,14 +12,10 @@ module Faraday
9
12
  # to XML MIME-type.
10
13
  #
11
14
  # Doesn't try to encode bodies that already are in string form.
12
- class EncodeXML < Faraday::Middleware
15
+ class Middleware < Faraday::Middleware
13
16
  CONTENT_TYPE = 'Content-Type'
14
17
  MIME_TYPE = 'application/xml'
15
18
 
16
- dependency do
17
- require 'gyoku' unless defined?(::Gyoku)
18
- end
19
-
20
19
  # This method will be called when the request is being prepared.
21
20
  # You can alter it as you like, accessing things like request_body, request_headers, and more.
22
21
  # Refer to Faraday::Env for a list of accessible fields:
@@ -44,10 +43,10 @@ module Faraday
44
43
 
45
44
  def process_request?(env)
46
45
  type = request_type(env)
47
- has_body?(env) && (type.empty? or type == MIME_TYPE)
46
+ body?(env) && (type.empty? or type == MIME_TYPE)
48
47
  end
49
48
 
50
- def has_body?(env)
49
+ def body?(env)
51
50
  (body = env[:body]) && !(body.respond_to?(:to_str) && body.empty?)
52
51
  end
53
52
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Faraday
4
4
  module EncodeXML
5
- VERSION = '0.1.0'
5
+ VERSION = '1.0.0'
6
6
  end
7
7
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'faraday/middleware/encode_xml'
4
- require 'faraday/encode_xml/version'
3
+ require_relative 'encode_xml/middleware'
4
+ require_relative 'encode_xml/version'
5
5
 
6
6
  module Faraday
7
7
  # This will be your middleware main module, though the actual middleware implementation will go
@@ -11,18 +11,18 @@ module Faraday
11
11
  # This step is totally optional, but it basically allows users to use a
12
12
  # custom symbol (in this case, `:my_middleware`), to use your middleware in their connections.
13
13
  # After calling this line, the following are both valid ways to set the middleware in a connection:
14
- # * conn.use Faraday::Middleware::MyMiddleware
14
+ # * conn.use Faraday::MyMiddleware::Middleware
15
15
  # * conn.use :my_middleware
16
16
  # Without this line, only the former method is valid.
17
- # Faraday::Middleware.register_middleware(encode_xml: Faraday::Middleware::EncodeXML)
17
+ # Faraday::Middleware.register_middleware(my_middleware: Faraday::MyMiddleware::Middleware)
18
18
 
19
19
  # Alternatively, you can register your middleware under Faraday::Request or Faraday::Response.
20
20
  # This will allow to load your middleware using the `request` or `response` methods respectively.
21
21
  #
22
22
  # Load middleware with conn.request :my_middleware
23
- Faraday::Request.register_middleware(xml: Faraday::Middleware::EncodeXML)
23
+ Faraday::Request.register_middleware(xml: Faraday::EncodeXML::Middleware)
24
24
 
25
25
  # Load middleware with conn.response :my_middleware
26
- # Faraday::Response.register_middleware(my_adapter: Faraday::Middleware::MyMiddleware)
26
+ # Faraday::Response.register_middleware(my_adapter: Faraday::MyMiddleware::Middleware)
27
27
  end
28
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday-encode_xml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Popov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-20 00:00:00.000000000 Z
11
+ date: 2022-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '2.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '2.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: gyoku
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -109,21 +109,21 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: 0.21.0
111
111
  - !ruby/object:Gem::Dependency
112
- name: gem_toys
112
+ name: simplecov-cobertura
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.10.0
117
+ version: '2.1'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.10.0
124
+ version: '2.1'
125
125
  - !ruby/object:Gem::Dependency
126
- name: toys
126
+ name: gem_toys
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
@@ -136,20 +136,34 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 0.12.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: toys
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.14.2
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.14.2
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: rubocop
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
157
  - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: 1.22.0
159
+ version: 1.39.0
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: 1.22.0
166
+ version: 1.39.0
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: rubocop-packaging
155
169
  requirement: !ruby/object:Gem::Requirement
@@ -205,15 +219,16 @@ files:
205
219
  - LICENSE.md
206
220
  - README.md
207
221
  - lib/faraday/encode_xml.rb
222
+ - lib/faraday/encode_xml/middleware.rb
208
223
  - lib/faraday/encode_xml/version.rb
209
- - lib/faraday/middleware/encode_xml.rb
210
224
  homepage: https://github.com/AlexWayfer/faraday-encode_xml
211
225
  licenses:
212
226
  - MIT
213
227
  metadata:
228
+ rubygems_mfa_required: 'true'
214
229
  bug_tracker_uri: https://github.com/AlexWayfer/faraday-encode_xml/issues
215
- changelog_uri: https://github.com/AlexWayfer/faraday-encode_xml/blob/v0.1.0/CHANGELOG.md
216
- documentation_uri: http://www.rubydoc.info/gems/faraday-encode_xml/0.1.0
230
+ changelog_uri: https://github.com/AlexWayfer/faraday-encode_xml/blob/v1.0.0/CHANGELOG.md
231
+ documentation_uri: http://www.rubydoc.info/gems/faraday-encode_xml/1.0.0
217
232
  homepage_uri: https://github.com/AlexWayfer/faraday-encode_xml
218
233
  source_code_uri: https://github.com/AlexWayfer/faraday-encode_xml
219
234
  wiki_uri: https://github.com/AlexWayfer/faraday-encode_xml/wiki
@@ -225,7 +240,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
225
240
  requirements:
226
241
  - - ">="
227
242
  - !ruby/object:Gem::Version
228
- version: '2.5'
243
+ version: '2.6'
229
244
  - - "<"
230
245
  - !ruby/object:Gem::Version
231
246
  version: '4'
@@ -235,7 +250,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
235
250
  - !ruby/object:Gem::Version
236
251
  version: '0'
237
252
  requirements: []
238
- rubygems_version: 3.2.22
253
+ rubygems_version: 3.3.26
239
254
  signing_key:
240
255
  specification_version: 4
241
256
  summary: Faraday middleware for encoding requests as XML