tamber 0.1.3 → 0.1.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
2
  SHA1:
3
- metadata.gz: 34977d3642e3fadc688e4fb95a73e54a44ec2dc5
4
- data.tar.gz: e336d5302a49b3d7c0905e79c3030754c0bb3061
3
+ metadata.gz: 04cbb04bf2dbb1a3c938529885994ffda6b37cd2
4
+ data.tar.gz: f63ed8198c31d0167d1e7e4295d1b98eb0828f47
5
5
  SHA512:
6
- metadata.gz: d7be4a452e9be2c12b590fbefdb5fb9dfb58df43cc861d271431921664867cd2320e190b62daf26da558d3bc7dbbc3cf44339d4be103662745c381cd144503c5
7
- data.tar.gz: 1d0292b2c0abb24435af72dac96621cf1297d4fd70caa014f031033390ddf6958ad8d79bfd4353311fb190098c0cda24f6f10d99b5151d479ed9b9769bfd1597
6
+ metadata.gz: a835f33afe46afd0ea1bf1466f3d436a722d4de7b9c5edf0bb4cd7706676bfb10f00e41846fe62841f02255354700db70a29971903495598623b4dd0c6d260a7
7
+ data.tar.gz: 745676b9e419f44b4e5df47e272eeb245d9e5bdbe56610969ad9b66a45c8d037830eb104b7e98f15dfb38ac9c1dcb3fc2dec76f00d0c450e6d25f1a826803250
data/Rakefile CHANGED
@@ -5,13 +5,3 @@ task :default => [:test]
5
5
  Rake::TestTask.new do |t|
6
6
  t.pattern = './test/*_test.rb'
7
7
  end
8
-
9
- # desc "update bundled certs"
10
- # task :update_certs do
11
- # require "restclient"
12
- # File.open(File.join(File.dirname(__FILE__), 'lib', 'data', 'ca-certificates.crt'), 'w') do |file|
13
- # resp = RestClient.get "https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt"
14
- # abort("bad response when fetching bundle") unless resp.code == 200
15
- # file.write(resp.to_str)
16
- # end
17
- # end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4
Binary file
@@ -42,7 +42,7 @@ module Tamber
42
42
  @read_timeout = 80
43
43
 
44
44
  class << self
45
- attr_accessor :project_key, :engine_key, :api_base, :api_version, :verify_ssl_certs, :open_timeout, :read_timeout
45
+ attr_accessor :project_key, :engine_key, :api_version, :verify_ssl_certs, :open_timeout, :read_timeout
46
46
  end
47
47
 
48
48
 
@@ -59,7 +59,6 @@ module Tamber
59
59
  end
60
60
 
61
61
  def self.request(method, url, params={})
62
- api_base_url = api_base_url || @api_base
63
62
 
64
63
  if project_key =~ /\s/
65
64
  raise TamberError.new('Your project key is invalid, as it contains ' \
@@ -88,8 +87,7 @@ module Tamber
88
87
  end
89
88
  end
90
89
 
91
- # params = Util.objects_to_ids(params)
92
- url = api_url(api_base_url,url)
90
+ url = @api_url + url
93
91
 
94
92
  case method.to_s.downcase.to_sym
95
93
  when :get, :head, :delete
@@ -104,15 +102,17 @@ module Tamber
104
102
  :method => method, :open_timeout => open_timeout,
105
103
  :payload => payload, :url => url, :timeout => read_timeout)
106
104
 
107
- response = execute_request_with_rescues(request_opts, api_base_url)
105
+ response = execute_request_with_rescues(request_opts)
108
106
 
109
107
  [parse(response)]
110
108
  end
111
109
 
112
110
 
113
111
 
114
- def self.request_headers(project_key, engine_key, method)
115
- encoded_key = Base64.encode64(project_key + ':' + engine_key)
112
+ def self.request_headers(pkey, ekey, method)
113
+ pkey ||= ''
114
+ ekey ||= ''
115
+ encoded_key = Base64.encode64(pkey + ':' + ekey)
116
116
  headers = {
117
117
  :user_agent => "Tamber/v1 RubyBindings/#{Tamber::VERSION}",
118
118
  :authorization => "Basic "+encoded_key,
@@ -148,6 +148,10 @@ module Tamber
148
148
  TamberError.new("Invalid response object from API: "+rbody.inspect)
149
149
  end
150
150
 
151
+ def self.handle_restclient_error(e, request_opts)
152
+ parse(e)
153
+ end
154
+
151
155
  def self.execute_request(opts)
152
156
  RestClient::Request.execute(opts)
153
157
  end
@@ -163,36 +167,36 @@ module Tamber
163
167
  rescue JSON::ParserError
164
168
  raise general_api_error(response.body)
165
169
  end
166
-
167
170
  Util.symbolize_names(response)
168
171
  end
169
172
 
170
173
  private
171
174
 
172
- def self.execute_request_with_rescues(request_opts, api_base_url, retry_count = 0)
173
- response = execute_request(request_opts)
174
- # begin
175
- # response = execute_request(request_opts)
176
- # rescue SocketError => e
177
- # response = handle_restclient_error(e, request_opts, retry_count, api_base_url)
178
- # rescue NoMethodError => e
179
- # # Work around RestClient bug
180
- # if e.message =~ /\WRequestFailed\W/
181
- # e = APIConnectionError.new('Unexpected HTTP response code')
182
- # response = handle_restclient_error(e, request_opts, retry_count, api_base_url)
183
- # else
184
- # raise
185
- # end
186
- # rescue RestClient::ExceptionWithResponse => e
187
- # if e.response
188
- # handle_api_error(e.response)
189
- # else
190
- # response = handle_restclient_error(e, request_opts, retry_count, api_base_url)
191
- # end
192
- # rescue RestClient::Exception, Errno::ECONNREFUSED => e
193
- # response = handle_restclient_error(e, request_opts, retry_count, api_base_url)
194
- # end
195
-
196
- # response
175
+ def self.execute_request_with_rescues(request_opts)
176
+ # response = execute_request(request_opts)
177
+ begin
178
+ response = execute_request(request_opts)
179
+ rescue SocketError => e
180
+ response = handle_restclient_error(e, request_opts)
181
+ rescue NoMethodError => e
182
+ # Work around RestClient bug
183
+ if e.message =~ /\WRequestFailed\W/
184
+ raise TamberError.new('Error: Unexpected HTTP response code')
185
+ else
186
+ raise
187
+ end
188
+ rescue RestClient::ExceptionWithResponse => e
189
+ puts "ExceptionWithResponse: #{e}"
190
+ if e.response
191
+ puts "e.response"
192
+ parse(e.response)
193
+ else
194
+ response = handle_restclient_error(e, request_opts)
195
+ end
196
+ rescue RestClient::Exception, Errno::ECONNREFUSED => e
197
+ response = handle_restclient_error(e, request_opts)
198
+ end
199
+
200
+ response
197
201
  end
198
202
  end
@@ -1,3 +1,3 @@
1
1
  module Tamber
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
@@ -15,7 +15,7 @@ spec = Gem::Specification.new do |s|
15
15
 
16
16
  s.add_dependency('rest-client', '~> 1.4')
17
17
  s.add_dependency('json', '~> 1.8.1')
18
- s.add_dependency('activesupport', '~> 4.2.6')
18
+ s.add_dependency('activesupport', '~> 4.2.4')
19
19
 
20
20
  s.add_development_dependency('mocha', '~> 0.13.2')
21
21
  s.add_development_dependency('shoulda', '~> 3.4.0')
@@ -9,8 +9,6 @@ module Tamber
9
9
  :desirability => 0.2
10
10
  )
11
11
  puts e
12
- rescue TamberError => error
13
- puts error.message
14
12
  end
15
13
  end
16
14
 
@@ -20,10 +18,7 @@ module Tamber
20
18
  :name => 'mention',
21
19
  )
22
20
  puts e
23
- rescue TamberError => error
24
- puts error.message
25
21
  end
26
-
27
22
  end
28
23
  end
29
24
  end
@@ -15,8 +15,6 @@ module Tamber
15
15
  }
16
16
  )
17
17
  d.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
18
- rescue TamberError => error
19
- puts error.message
20
18
  end
21
19
  end
22
20
 
@@ -26,8 +24,6 @@ module Tamber
26
24
  :item => 'item_i5gq90scc1'
27
25
  )
28
26
  d.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
29
- rescue TamberError => error
30
- puts error.message
31
27
  end
32
28
  end
33
29
 
@@ -38,8 +34,6 @@ module Tamber
38
34
  :item => 'item_i5gq90scc1'
39
35
  )
40
36
  d.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
41
- rescue TamberError => error
42
- puts error.message
43
37
  end
44
38
  end
45
39
 
@@ -10,9 +10,7 @@ module Tamber
10
10
  :behavior => 'mention',
11
11
  :get_recs => {}
12
12
  )
13
- e.recommended.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
14
- rescue TamberError => error
15
- puts error.message
13
+ puts e
16
14
  end
17
15
  end
18
16
 
@@ -22,8 +20,6 @@ module Tamber
22
20
  :user => 'user_jctzgisbru',
23
21
  )
24
22
  puts e
25
- rescue TamberError => error
26
- puts error.message
27
23
  end
28
24
  end
29
25
 
@@ -44,8 +40,6 @@ module Tamber
44
40
  ]
45
41
  )
46
42
  puts e
47
- rescue TamberError => error
48
- puts error.message
49
43
  end
50
44
  end
51
45
 
@@ -5,7 +5,7 @@ module Tamber
5
5
  should "be creatable" do
6
6
  begin
7
7
  e = Tamber::Item.create(
8
- :id => 'item_i7gq90scc1',
8
+ :id => 'item_i5gq90scc1',
9
9
  :properties => {
10
10
  'type'=> 'artwork',
11
11
  'artist'=> 'Alexander Calder',
@@ -23,7 +23,7 @@ module Tamber
23
23
  should "be updatable" do
24
24
  begin
25
25
  e = Tamber::Item.update(
26
- :id => 'item_i7gq90scc1',
26
+ :id => 'item_i5gq90scc1',
27
27
  :updates => {
28
28
  :add => {
29
29
  :properties => {
@@ -47,7 +47,7 @@ module Tamber
47
47
  should "be retrievable" do
48
48
  begin
49
49
  e = Tamber::Item.retrieve(
50
- :id => 'item_i7gq90scc1',
50
+ :id => 'item_i5gq90scc1',
51
51
  )
52
52
  puts e
53
53
  rescue TamberError => error
@@ -58,7 +58,7 @@ module Tamber
58
58
  should "be removable" do
59
59
  begin
60
60
  e = Tamber::Item.remove(
61
- :id => 'item_i7gq90scc1',
61
+ :id => 'item_i5gq90scc1',
62
62
  )
63
63
  puts e
64
64
  rescue TamberError => error
@@ -18,9 +18,6 @@ module Tamber
18
18
  }
19
19
  ]
20
20
  )
21
- puts u
22
- rescue TamberError => error
23
- puts error.message
24
21
  end
25
22
  end
26
23
 
@@ -35,9 +32,8 @@ module Tamber
35
32
  :id => id,
36
33
  :metadata => metadata
37
34
  )
35
+ puts "retrieved user #{u}"
38
36
  assert u.id == id
39
- rescue TamberError => error
40
- puts error.message
41
37
  end
42
38
  end
43
39
 
@@ -53,10 +49,7 @@ module Tamber
53
49
  )
54
50
  puts u.inspect
55
51
  puts u.metadata
56
- puts u.metadata[:name]
57
52
  assert u.id == id
58
- rescue TamberError => error
59
- puts error.message
60
53
  end
61
54
  end
62
55
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tamber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexi Robbins
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-02-23 00:00:00.000000000 Z
12
+ date: 2017-05-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
@@ -45,14 +45,14 @@ dependencies:
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: 4.2.6
48
+ version: 4.2.4
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: 4.2.6
55
+ version: 4.2.4
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: mocha
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -109,6 +109,48 @@ dependencies:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
111
  version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: byebug
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: pry
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: pry-byebug
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
112
154
  description: Tamber is the easiest way to put head-scratchingly accurate, real time
113
155
  recommendations in your app. See https://tamber.com for details.
114
156
  email:
@@ -171,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
171
213
  version: '0'
172
214
  requirements: []
173
215
  rubyforge_project:
174
- rubygems_version: 2.4.8
216
+ rubygems_version: 2.5.1
175
217
  signing_key:
176
218
  specification_version: 4
177
219
  summary: Ruby bindings for the Tamber API