tddium_client 0.2.0 → 0.3.0
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.
- data/LICENSE.txt +13 -0
- data/lib/tddium_client.rb +10 -5
- data/lib/tddium_client/tddium_spec_helpers.rb +1 -3
- data/lib/tddium_client/version.rb +2 -4
- data/spec/tddium_client_spec.rb +5 -4
- metadata +4 -3
data/LICENSE.txt
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
2
|
+
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
3
|
+
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
4
|
+
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOLANO LABS BE LIABLE FOR
|
5
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
6
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
7
|
+
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
8
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
9
|
+
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
10
|
+
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
11
|
+
POSSIBILITY OF SUCH DAMAGE.
|
12
|
+
|
13
|
+
Copyright (c) 2011, 2012 Solano Labs All Rights Reserved
|
data/lib/tddium_client.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
|
-
|
2
|
-
Copyright (c) 2011 Solano Labs All Rights Reserved
|
3
|
-
=end
|
1
|
+
# Copyright (c) 2011, 2012 Solano Labs All Rights Reserved
|
4
2
|
|
5
3
|
require 'rubygems'
|
6
4
|
require 'httparty'
|
7
5
|
require 'json'
|
6
|
+
require 'securerandom'
|
8
7
|
require File.expand_path("../tddium_client/version", __FILE__)
|
9
8
|
|
10
9
|
module TddiumClient
|
@@ -115,15 +114,18 @@ module TddiumClient
|
|
115
114
|
"caller_version" => caller_version}
|
116
115
|
end
|
117
116
|
|
118
|
-
def call_api(method, api_path, params = {}, api_key = nil, retries = 5)
|
117
|
+
def call_api(method, api_path, params = {}, api_key = nil, retries = 5, xid=nil)
|
119
118
|
headers = {'Content-Type' => 'application/json'}
|
120
119
|
headers.merge!(API_KEY_HEADER => api_key) if api_key
|
121
120
|
headers.merge!(CLIENT_VERSION_HEADER => version_header)
|
122
121
|
|
122
|
+
xid ||= xid_gen
|
123
|
+
call_params = params.merge({:xid => xid})
|
124
|
+
|
123
125
|
tries = 0
|
124
126
|
|
125
127
|
begin
|
126
|
-
http = self.class.send(method, tddium_uri(api_path), :body =>
|
128
|
+
http = self.class.send(method, tddium_uri(api_path), :body => call_params.to_json, :headers => headers)
|
127
129
|
rescue Errno::ECONNREFUSED, Errno::ETIMEDOUT, Timeout::Error, OpenSSL::SSL::SSLError, OpenSSL::SSL::Session::SessionError
|
128
130
|
tries += 1
|
129
131
|
retry if retries > 0 && tries <= retries
|
@@ -142,6 +144,9 @@ module TddiumClient
|
|
142
144
|
@tddium_config["caller_version"] = version
|
143
145
|
end
|
144
146
|
|
147
|
+
def xid_gen
|
148
|
+
return SecureRandom.hex(8)
|
149
|
+
end
|
145
150
|
|
146
151
|
protected
|
147
152
|
|
data/spec/tddium_client_spec.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
Copyright (c) 2011 Solano Labs All Rights Reserved
|
3
|
-
=end
|
1
|
+
# Copyright (c) 2011, 2012 Solano Labs All Rights Reserved
|
4
2
|
|
5
3
|
require "spec_helper"
|
6
4
|
|
@@ -349,7 +347,10 @@ describe "TddiumClient" do
|
|
349
347
|
context "('#{EXAMPLE_HTTP_METHOD}', '#{EXAMPLE_TDDIUM_RESOURCE}') # without params" do
|
350
348
|
it "should not include any request params" do
|
351
349
|
tddium_client.call_api(EXAMPLE_HTTP_METHOD, EXAMPLE_TDDIUM_RESOURCE)
|
352
|
-
|
350
|
+
params = parse_request_params
|
351
|
+
params.member?('xid').should be_true
|
352
|
+
params.delete('xid')
|
353
|
+
params.should == {}
|
353
354
|
end
|
354
355
|
end
|
355
356
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: tddium_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.
|
5
|
+
version: 0.3.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jay Moorthi
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-06-11 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|
@@ -114,6 +114,7 @@ files:
|
|
114
114
|
- .rspec
|
115
115
|
- Gemfile
|
116
116
|
- Gemfile.lock
|
117
|
+
- LICENSE.txt
|
117
118
|
- README
|
118
119
|
- Rakefile
|
119
120
|
- config/environment.yml
|
@@ -149,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
150
|
requirements: []
|
150
151
|
|
151
152
|
rubyforge_project: tddium_client
|
152
|
-
rubygems_version: 1.8.
|
153
|
+
rubygems_version: 1.8.24
|
153
154
|
signing_key:
|
154
155
|
specification_version: 3
|
155
156
|
summary: tddium Client Gem
|