api_connector 0.1.4.1 → 0.1.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
  SHA1:
3
- metadata.gz: 28bfa227c9a47672e9f6bfbff454a6610f6484ad
4
- data.tar.gz: ba78b7d8af9f1311d9ea6a9296135083e74eaa95
3
+ metadata.gz: ced916b5cc6eb12c92ce2e70f701c514618f153d
4
+ data.tar.gz: 7d7497eb7cd112bea0bb62fff10260cea191452c
5
5
  SHA512:
6
- metadata.gz: 4283da63f0d4c035f05ed4b35338ae682b4b769c4cc9586f0f43aced6fc54956e1fa3e5341c954d1ef9a70df9615ccd409321067345d83d2fcf073155d12ab8d
7
- data.tar.gz: c947ec4df9cd4aa5aa471d9ef9d4053be4db9faeafed410615a5167ae8ac702c143e3a7c4f4da73d6b11476b40221e9e9bead7ffd5864bd35b4b9b781af20df5
6
+ metadata.gz: 6bd4bac3e8db943b0f08d3b60e680013329f1bea24ad4baf474cf7ea95a6a31e88d5713691325ecb2862219962186b4265660a1008e3ab0ca263ea0410b17f87
7
+ data.tar.gz: 1dfb891a653c53289d1f2bbbbf4766d4822b35f039ebed65bd65dde96c7a3cfd319d150452d59090620dc416ca55cdddf2428bfcb1c6719b54f27f7020821f06
data/.gitignore CHANGED
@@ -35,5 +35,5 @@ build/
35
35
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
36
36
  .rvmrc
37
37
 
38
- .swp
39
- .swo
38
+ *.swp
39
+ *.swo
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- api_connector (0.1.1)
4
+ api_connector (0.1.4.1)
5
5
  activesupport (~> 4.2.4)
6
- rest-client
6
+ addressable (~> 2.3.8)
7
+ rest-client (~> 1.8.0)
7
8
 
8
9
  GEM
9
10
  remote: https://rubygems.org/
@@ -14,6 +15,7 @@ GEM
14
15
  minitest (~> 5.1)
15
16
  thread_safe (~> 0.3, >= 0.3.4)
16
17
  tzinfo (~> 1.1)
18
+ addressable (2.3.8)
17
19
  diff-lcs (1.2.5)
18
20
  domain_name (0.5.20160309)
19
21
  unf (>= 0.0.5, < 1.0.0)
@@ -33,4 +33,5 @@ Gem::Specification.new do |spec|
33
33
 
34
34
  spec.add_dependency 'activesupport', '~> 4.2.4'
35
35
  spec.add_dependency 'rest-client', '~> 1.8.0'
36
+ spec.add_dependency 'addressable', '~> 2.3.8'
36
37
  end
@@ -4,9 +4,9 @@ module Connectors #:nodoc:
4
4
  # === Heading
5
5
  # This class has all the common logic from <b>api connectors</b>.
6
6
  class ApiConnector
7
- attr_reader :logger, :api_client_id, :api_domain, :api_mall_id,
8
- :api_domain_format, :api_headers_token, :connection_protocol,
9
- :headers, :code, :cookies, :cookie_jar, :request, :body
7
+ attr_reader :logger, :api_client_id, :api_domain, :api_domain_format,
8
+ :api_headers_token, :connection_protocol, :headers, :code, :cookies,
9
+ :cookie_jar, :request, :body
10
10
 
11
11
  def initialize(options = {}) #:notnew:
12
12
  options.symbolize_keys!
@@ -60,19 +60,16 @@ module Connectors #:nodoc:
60
60
 
61
61
  url = (method == :get || method == :delete) ? url(endpoint,params) : url(endpoint)
62
62
 
63
- begin
64
- RestClient::Request.execute(method: method,
65
- url: url,
66
- headers: header(args[:headers]),
67
- payload: params || {}
68
- ) do |response, request, result|
69
- status = response.code == 200 ? :debug : :error
70
- #print(status, request, response.body)
71
- parse(response, endpoint)
72
- end
73
- rescue RestClient::RequestTimeout
74
- { status: '400', message: "RestClient timeout" }
75
- end
63
+ RestClient::Request.execute(method: method,
64
+ url: url,
65
+ headers: header(args[:headers]),
66
+ payload: params || {}
67
+ ) do |response, request, result|
68
+ #status = response.code == 200 ? :debug : :error
69
+ #print(status, request, response.body)
70
+ parse(response, endpoint)
71
+ end
72
+
76
73
  end
77
74
 
78
75
  def parse(response, endpoint = nil)
@@ -123,9 +120,9 @@ module Connectors #:nodoc:
123
120
  end
124
121
 
125
122
  def url_constructor endpoint, hash
126
- url = "#{@connection_protocol}://#{format(@api_domain)}/#{format(@prefix)}" << (@version ? "/#{@version}" : "") << "/#{format(endpoint)}"
123
+ url = "#{@connection_protocol}://#{format(@api_domain)}/#{format(@prefix)}" << "/#{format(endpoint)}"
127
124
  url << ("?#{parametrize(hash)}") unless hash.empty?
128
- url
125
+ Addressable::URI.parse(url).normalize.to_str
129
126
  end
130
127
 
131
128
  def parametrize hash
@@ -1,3 +1,3 @@
1
1
  module ApiConnector
2
- VERSION = "0.1.4.1"
2
+ VERSION = "0.1.4.2"
3
3
  end
data/lib/api_connector.rb CHANGED
@@ -3,6 +3,7 @@ require 'api_connector/api_connector'
3
3
  require 'active_support/core_ext/hash/keys'
4
4
  require 'logger'
5
5
  require 'rest-client'
6
+ require "addressable/uri"
6
7
 
7
8
  module ApiConnector
8
9
  def self.new(options={})
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api_connector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4.1
4
+ version: 0.1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Manuel Rodulfo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-15 00:00:00.000000000 Z
11
+ date: 2016-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: 1.8.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: addressable
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 2.3.8
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 2.3.8
83
97
  description: API Connector main class for wrapping RestClient functionality
84
98
  email:
85
99
  - jm.rodulfo.salcedo@gmail.com