ezapi 0.4.0 → 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: 79decec8840eddfb762b5c6e31a937381c2a6d69
4
- data.tar.gz: b2c8ad16b37562c59e055a2fffcd37b749125244
2
+ SHA256:
3
+ metadata.gz: 449daea17297ce79f1325f90e256ad142ce9c9f259d4bb705039ca1f2e93c4fc
4
+ data.tar.gz: 54234babf8d0ed1da827284bb24fe13245b4b1910216754413c9887d137ae103
5
5
  SHA512:
6
- metadata.gz: '06561690e3e153456d544af729e7d0758eb839a06344e0dfbe9c045e840f47babfb2458d0be3c6277ca79484853b570f88ac00b93f1f3c6c0b818d84323a03e6'
7
- data.tar.gz: cd5f48ca6246bfca7a5f137a775e65fef38ed6f7b1c3dbcb8da4c21d7a570d2202e4b33289bea51efe1eb158adc41af45464894d94d1335de931d3650412e1c8
6
+ metadata.gz: 72a3fa198d64e14310e2638e2964b329bccc849424680cfb304fbe03bb8002b4545d687efb296cac2680571c6732e1ec61f48691c73ea29f6d37a63e9c3606f2
7
+ data.tar.gz: 6855b1d8ce70b7f6d70069b3277f22284d08d2926f71e293cc2292b5b4e1c73e595b9fd34ff0cddd81eaa70f40a33335309e636edb3c2c9a77c94ee708dcd0a0
@@ -30,9 +30,10 @@ Gem::Specification.new do |spec|
30
30
  spec.require_paths = ["lib"]
31
31
 
32
32
  spec.add_dependency 'rest-client', '~> 2.0'
33
- spec.add_dependency 'activesupport', '~> 5.2', '>= 5.2.4'
34
- spec.add_development_dependency "bundler", '~> 2.0', '>= 2.0.1'
35
- spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
33
+ spec.add_dependency 'activesupport', '>= 4.2'
34
+ spec.add_dependency 'nokogiri', '~> 1.6', '>= 1.6.8'
35
+ spec.add_development_dependency 'bundler', '~> 2.0', '>= 2.0.1'
36
+ spec.add_development_dependency "rake", ">= 12.3.3"
36
37
  spec.add_development_dependency "rspec", "~> 3.0"
37
38
  spec.add_development_dependency "pry", "~> 0.10.4"
38
39
  end
@@ -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 = "0.4.0"
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: 0.4.0
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
@@ -26,24 +26,38 @@ dependencies:
26
26
  version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '4.2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '4.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '5.2'
47
+ version: '1.6'
34
48
  - - ">="
35
49
  - !ruby/object:Gem::Version
36
- version: 5.2.4
50
+ version: 1.6.8
37
51
  type: :runtime
38
52
  prerelease: false
39
53
  version_requirements: !ruby/object:Gem::Requirement
40
54
  requirements:
41
55
  - - "~>"
42
56
  - !ruby/object:Gem::Version
43
- version: '5.2'
57
+ version: '1.6'
44
58
  - - ">="
45
59
  - !ruby/object:Gem::Version
46
- version: 5.2.4
60
+ version: 1.6.8
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: bundler
49
63
  requirement: !ruby/object:Gem::Requirement
@@ -68,22 +82,16 @@ dependencies:
68
82
  name: rake
69
83
  requirement: !ruby/object:Gem::Requirement
70
84
  requirements:
71
- - - "~>"
72
- - !ruby/object:Gem::Version
73
- version: '13.0'
74
85
  - - ">="
75
86
  - !ruby/object:Gem::Version
76
- version: 13.0.1
87
+ version: 12.3.3
77
88
  type: :development
78
89
  prerelease: false
79
90
  version_requirements: !ruby/object:Gem::Requirement
80
91
  requirements:
81
- - - "~>"
82
- - !ruby/object:Gem::Version
83
- version: '13.0'
84
92
  - - ">="
85
93
  - !ruby/object:Gem::Version
86
- version: 13.0.1
94
+ version: 12.3.3
87
95
  - !ruby/object:Gem::Dependency
88
96
  name: rspec
89
97
  requirement: !ruby/object:Gem::Requirement
@@ -157,8 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
165
  - !ruby/object:Gem::Version
158
166
  version: '0'
159
167
  requirements: []
160
- rubyforge_project:
161
- rubygems_version: 2.6.14
168
+ rubygems_version: 3.0.6
162
169
  signing_key:
163
170
  specification_version: 4
164
171
  summary: Easily Communicate with APIs