ezapi 1.0.3 → 1.0.4

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
- SHA1:
3
- metadata.gz: f0962a3e1cd704e7372c2012eb7aac9cd3ad7347
4
- data.tar.gz: 4d7c95b461c471028caaed8cc72244a1a731453b
2
+ SHA256:
3
+ metadata.gz: 449daea17297ce79f1325f90e256ad142ce9c9f259d4bb705039ca1f2e93c4fc
4
+ data.tar.gz: 54234babf8d0ed1da827284bb24fe13245b4b1910216754413c9887d137ae103
5
5
  SHA512:
6
- metadata.gz: 550de5432b19cd0c3e130b45b07b5a45d45bf04e7bb9f4a2360700edd3d8d95057eaba43badfe808e584653831bc606b3d69d2add8c460347d93b3ec3454c62d
7
- data.tar.gz: 65983059d16a94236aeeef36533e39447fcd941eea57a259d65e16d438ae80ddd596f9ca1e5d1f6cd3f9d7ca0828f9075318a07054e93d4162b757189d0c4123
6
+ metadata.gz: 72a3fa198d64e14310e2638e2964b329bccc849424680cfb304fbe03bb8002b4545d687efb296cac2680571c6732e1ec61f48691c73ea29f6d37a63e9c3606f2
7
+ data.tar.gz: 6855b1d8ce70b7f6d70069b3277f22284d08d2926f71e293cc2292b5b4e1c73e595b9fd34ff0cddd81eaa70f40a33335309e636edb3c2c9a77c94ee708dcd0a0
@@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
31
31
 
32
32
  spec.add_dependency 'rest-client', '~> 2.0'
33
33
  spec.add_dependency 'activesupport', '>= 4.2'
34
+ spec.add_dependency 'nokogiri', '~> 1.6', '>= 1.6.8'
34
35
  spec.add_development_dependency 'bundler', '~> 2.0', '>= 2.0.1'
35
36
  spec.add_development_dependency "rake", ">= 12.3.3"
36
37
  spec.add_development_dependency "rspec", "~> 3.0"
@@ -2,6 +2,7 @@ require 'rest-client'
2
2
  require 'json'
3
3
  require 'base64'
4
4
  require 'uri'
5
+ require 'nokogiri'
5
6
 
6
7
  module EZApi
7
8
  module Client
@@ -24,13 +25,23 @@ module EZApi
24
25
  end
25
26
 
26
27
  def request(full_url, method, params={}, headers=self.request_headers, request_arguments={})
27
- default_request = {method: method, url: full_url, payload: params.to_json, headers: headers}
28
+ response = raw_request(full_url, method, params, headers, request_arguments)
28
29
 
29
30
  begin
30
- response = RestClient::Request.execute(default_request.merge(request_arguments))
31
- JSON.parse(response) unless response.empty?
31
+ if response.headers && response.headers[:content_type] == "application/xml"
32
+ Nokogiri::XML(response.body)
33
+ else
34
+ JSON.parse(response.body) unless response.empty?
35
+ end
32
36
  rescue JSON::ParserError => e
33
37
  nil
38
+ end
39
+ end
40
+
41
+ def raw_request(full_url, method, params={}, headers=self.request_headers, request_arguments={})
42
+ default_request = {method: method, url: full_url, payload: params.to_json, headers: headers}
43
+ begin
44
+ RestClient::Request.execute(default_request.merge(request_arguments))
34
45
  rescue RestClient::ExceptionWithResponse => e
35
46
  if response_code = e.http_code and response_body = e.http_body
36
47
  handle_api_error(response_code, response_body)
@@ -1,3 +1,3 @@
1
1
  module EZApi
2
- VERSION = "1.0.3"
2
+ VERSION = "1.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ezapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-27 00:00:00.000000000 Z
11
+ date: 2020-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -38,6 +38,26 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '4.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.6'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 1.6.8
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '1.6'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 1.6.8
41
61
  - !ruby/object:Gem::Dependency
42
62
  name: bundler
43
63
  requirement: !ruby/object:Gem::Requirement
@@ -145,8 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
165
  - !ruby/object:Gem::Version
146
166
  version: '0'
147
167
  requirements: []
148
- rubyforge_project:
149
- rubygems_version: 2.6.14
168
+ rubygems_version: 3.0.6
150
169
  signing_key:
151
170
  specification_version: 4
152
171
  summary: Easily Communicate with APIs