wrapi 0.4.0 → 0.4.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d9f4476458af28d2c64f885a156dbab8e4797d30992b8b52a92fbe9876456442
4
- data.tar.gz: d1cd4782db7f857ca68c72f956fa2b061b029e545a81ff85901ea39958345b32
3
+ metadata.gz: 893b19a80a388d0258ca30c2c170afa40c8f712cb767d7c5df4b066d1f59819a
4
+ data.tar.gz: 586720e6fe06df920b81fa5ed013dfb3fa6f12a51f0f74242561386d419178d0
5
5
  SHA512:
6
- metadata.gz: ced08d3424e62508e0dca3e85e30a7fd1a6d116b0a13bed7aec1d11b77234e8aaf93b8d4dce32c2fb3e3787baf95da59f1c595f7b7d318eb63cea9d8f301c6cf
7
- data.tar.gz: c2984a92eef0e8038e43d3eb9bbc775490372dbc3eefe97b5ea41c475e77dc0d2b26ecaac64c93ee5977c2ccb5e3089cbdf2a479b748a18e84cb446e7d14ba32
6
+ metadata.gz: 2e1f86fe225c1787b85763d9b3c9a7dd570f24d2e2d2995c4e8e2a025b2aa31e7fccc9951fbf38bec6a6ae93c2c228abe8d93459060e2438269f0ed854d67e6a
7
+ data.tar.gz: f1e88c8ec6b4b4ad05fb8f53c63b7f6e779dc50d5a19b942f4fa2f84792511c5c910eb8ae7e249506e6f97a6ad9757d4857ef216203d5bc0dd3fb3e25560273f
data/CHANGELOG.md CHANGED
@@ -25,3 +25,9 @@
25
25
  request tests with mock including delete/put/post
26
26
  - Entity fix issues returning json arrays
27
27
  Request option to return raw response
28
+
29
+ ## [0.4.1] - 2024-02-28
30
+ - fix issue with post body only supported as json
31
+
32
+ ## [0.4.2] - 2024-03-03
33
+ - fix issue with escaping query parameters included in path
@@ -38,7 +38,7 @@ module WrAPI
38
38
 
39
39
  # callback method to setup api authorization
40
40
  def setup_authorization(connection)
41
- connection.authorization :Bearer, access_token if access_token
41
+ connection.headers['Authorization'] = "Bearer #{access_token}" if access_token
42
42
  end
43
43
 
44
44
  # callback method to setup api headers
data/lib/wrapi/request.rb CHANGED
@@ -19,7 +19,7 @@ module WrAPI
19
19
  # @return nil if block given, otherwise complete concatenated json result set
20
20
  def get_paged(path, options = {}, request_labda = nil)
21
21
  raise ArgumentError,
22
- "Pages requests should be json formatted (given format '#{format}')" unless :json.eql? format
22
+ "Pages requests should be json formatted (given format '#{format}')" unless is_json?
23
23
 
24
24
  result = []
25
25
  pager = create_pager
@@ -71,6 +71,10 @@ module WrAPI
71
71
  entity_response(response, raw)
72
72
  end
73
73
 
74
+ def is_json?
75
+ format && 'json'.eql?(format.to_s)
76
+ end
77
+
74
78
  private
75
79
 
76
80
  def create_pager
@@ -82,20 +86,29 @@ module WrAPI
82
86
  response = connection.send(method) do |request|
83
87
  yield(request) if block_given?
84
88
  uri = URI::Parser.new
89
+ _path = uri.parse(path)
85
90
  case method
86
91
  when :get, :delete
87
- request.url(uri.escape(path), options)
92
+ _path.path = uri.escape(_path.path)
93
+ request.url(_path.to_s, options)
88
94
  when :post, :put
89
- request.headers['Content-Type'] = "application/#{format}"
90
- request.path = uri.escape(path)
91
- request.body = options.to_json unless options.empty?
95
+ request.headers['Content-Type'] = "application/#{format}" unless request.headers['Content-Type']
96
+ _path.path = uri.escape(_path.path)
97
+
98
+ request.path = _path.to_s
99
+
100
+ if is_json? && !options.empty?
101
+ request.body = options.to_json
102
+ else
103
+ request.body = URI.encode_www_form(options) unless options.empty?
104
+ end
92
105
  end
93
106
  end
94
107
  response
95
108
  end
96
109
 
97
110
  def entity_response(response, raw=false)
98
- if :json.eql?(format) && !raw
111
+ if is_json? && !raw
99
112
  Entity.create(pagination_class.data(response.body))
100
113
  else
101
114
  response
data/lib/wrapi/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WrAPI
4
- VERSION = '0.4.0'
4
+ VERSION = '0.4.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wrapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Janco Tanis
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-22 00:00:00.000000000 Z
11
+ date: 2024-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday