ezapi 1.0.3 → 1.0.4

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
- 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