tamber 0.1.2 → 0.1.3

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
2
  SHA1:
3
- metadata.gz: bc333d96ce5015e8a86212bade5698d0e29e69cf
4
- data.tar.gz: e62eb3c8b4d37cfd8eadde4466fa69092a7ad5f2
3
+ metadata.gz: 34977d3642e3fadc688e4fb95a73e54a44ec2dc5
4
+ data.tar.gz: e336d5302a49b3d7c0905e79c3030754c0bb3061
5
5
  SHA512:
6
- metadata.gz: 5a07d06b39e7490ca159a142108c4ca595a993378c3244670fb931150f1915992a322c9c474d950a75c81ba7b194d7226d38f3cae65ca7fc156ab345de15b619
7
- data.tar.gz: 7f045456524ee01ad4b9292d79c2643235af128590388bc4a8844cea07e1d3226800dd57d9178096b3ff6c75a4aaf4dd296dc15ad65cc287bf66483c926a69bf
6
+ metadata.gz: d7be4a452e9be2c12b590fbefdb5fb9dfb58df43cc861d271431921664867cd2320e190b62daf26da558d3bc7dbbc3cf44339d4be103662745c381cd144503c5
7
+ data.tar.gz: 1d0292b2c0abb24435af72dac96621cf1297d4fd70caa014f031033390ddf6958ad8d79bfd4353311fb190098c0cda24f6f10d99b5151d479ed9b9769bfd1597
data/README.rdoc CHANGED
@@ -25,7 +25,7 @@ We are compatible with Ruby 1.9.3 and above.
25
25
  Track Events in real time:
26
26
 
27
27
  require 'tamber'
28
- Tamber.api_key = 'your_engine_api_key'
28
+ Tamber.project_key = 'your_project_key'
29
29
 
30
30
  begin
31
31
  Tamber::Event.track(
@@ -37,7 +37,9 @@ Track Events in real time:
37
37
  puts error.message
38
38
  end
39
39
 
40
- Then get recommendations:
40
+ Then get recommendations from your engine:
41
+
42
+ Tamber.engine_key = 'your_engine_key'
41
43
 
42
44
  begin
43
45
  d = Tamber::Discover.recommended(
@@ -52,14 +54,15 @@ Then get recommendations:
52
54
  Or do both in a single call:
53
55
 
54
56
  require 'tamber'
55
- Tamber.api_key = 'ENGINEID'
57
+ Tamber.project_key = 'your_project_key'
58
+ Tamber.engine_key = 'your_engine_key'
56
59
 
57
60
  begin
58
61
  e = Tamber::Event.track(
59
62
  :user => 'user_rlox8k927z7p',
60
63
  :behavior => 'like'
61
64
  :item => 'item_wmt4fn6o4zlk',
62
- :getRecs => {}
65
+ :get_recs => {}
63
66
  )
64
67
  puts "Recommended For User:"
65
68
  e.recommended.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
@@ -67,5 +70,5 @@ Or do both in a single call:
67
70
  puts error.message
68
71
  end
69
72
 
70
- See {Tests}[https://github.com/tamber/tamber-python/blob/master/tests] for more examples.
73
+ See {Tests}[https://github.com/tamber/tamber-ruby/tree/master/test] for more examples.
71
74
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
Binary file
data/lib/tamber.rb CHANGED
@@ -42,7 +42,7 @@ module Tamber
42
42
  @read_timeout = 80
43
43
 
44
44
  class << self
45
- attr_accessor :api_key, :api_url, :api_base, :api_version, :verify_ssl_certs, :open_timeout, :read_timeout
45
+ attr_accessor :project_key, :engine_key, :api_base, :api_version, :verify_ssl_certs, :open_timeout, :read_timeout
46
46
  end
47
47
 
48
48
 
@@ -61,17 +61,16 @@ module Tamber
61
61
  def self.request(method, url, params={})
62
62
  api_base_url = api_base_url || @api_base
63
63
 
64
- unless api_key ||= @api_key
65
- raise TamberError.new('No API key provided. ' \
66
- 'Set your engine-specific API key using "Tamber.api_key = <ENGINE-API-KEY>". ' \
67
- 'You can get your engine\'s api key from the Tamber dashboard. ' \
68
- 'See https://dashboard.tamber.com to get your engine\'s key, or ' \
64
+ if project_key =~ /\s/
65
+ raise TamberError.new('Your project key is invalid, as it contains ' \
66
+ 'whitespace. (HINT: You can double-check your project key from the ' \
67
+ 'Tamber dashboard. See https://dashboard.tamber.com to get your engine\'s key, or ' \
69
68
  'email support@tamber.com if you have any questions.)')
70
69
  end
71
70
 
72
- if api_key =~ /\s/
73
- raise TamberError.new('Your API key is invalid, as it contains ' \
74
- 'whitespace. (HINT: You can double-check your API key from the ' \
71
+ if engine_key =~ /\s/
72
+ raise TamberError.new('Your engine key is invalid, as it contains ' \
73
+ 'whitespace. (HINT: You can double-check your project key from the ' \
75
74
  'Tamber dashboard. See https://dashboard.tamber.com to get your engine\'s key, or ' \
76
75
  'email support@tamber.com if you have any questions.)')
77
76
  end
@@ -101,7 +100,7 @@ module Tamber
101
100
  payload = Util.encode_parameters(params)
102
101
  end
103
102
 
104
- request_opts.update(:headers => request_headers(api_key, method),
103
+ request_opts.update(:headers => request_headers(project_key, engine_key, method),
105
104
  :method => method, :open_timeout => open_timeout,
106
105
  :payload => payload, :url => url, :timeout => read_timeout)
107
106
 
@@ -112,8 +111,8 @@ module Tamber
112
111
 
113
112
 
114
113
 
115
- def self.request_headers(api_key, method)
116
- encoded_key = Base64.encode64(api_key + ':')
114
+ def self.request_headers(project_key, engine_key, method)
115
+ encoded_key = Base64.encode64(project_key + ':' + engine_key)
117
116
  headers = {
118
117
  :user_agent => "Tamber/v1 RubyBindings/#{Tamber::VERSION}",
119
118
  :authorization => "Basic "+encoded_key,
@@ -35,7 +35,7 @@ module Tamber
35
35
  end
36
36
 
37
37
  def self.recommendedSimilar_url
38
- url + '/recommendedSimilar'
38
+ url + '/recommended_similar'
39
39
  end
40
40
 
41
41
  def self.popular_url
@@ -1,3 +1,3 @@
1
1
  module Tamber
2
- VERSION = '0.1.2'
2
+ VERSION = '0.1.3'
3
3
  end
data/tamber.gemspec CHANGED
@@ -15,6 +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
19
 
19
20
  s.add_development_dependency('mocha', '~> 0.13.2')
20
21
  s.add_development_dependency('shoulda', '~> 3.4.0')
@@ -2,28 +2,28 @@ require File.expand_path('../test_helper', __FILE__)
2
2
 
3
3
  module Tamber
4
4
  class BehaviorTest < Test::Unit::TestCase
5
- # should "be creatable" do
6
- # begin
7
- # e = Tamber::Behavior.create(
8
- # :name => 'star',
9
- # :desirability => 0.2
10
- # )
11
- # puts e
12
- # rescue TamberError => error
13
- # puts error.message
14
- # end
15
- # end
5
+ should "be creatable" do
6
+ begin
7
+ e = Tamber::Behavior.create(
8
+ :name => 'mention',
9
+ :desirability => 0.2
10
+ )
11
+ puts e
12
+ rescue TamberError => error
13
+ puts error.message
14
+ end
15
+ end
16
16
 
17
- # should "be retrievable" do
18
- # begin
19
- # e = Tamber::Behavior.retrieve(
20
- # :name => 'star',
21
- # )
22
- # puts e
23
- # rescue TamberError => error
24
- # puts error.message
25
- # end
17
+ should "be retrievable" do
18
+ begin
19
+ e = Tamber::Behavior.retrieve(
20
+ :name => 'mention',
21
+ )
22
+ puts e
23
+ rescue TamberError => error
24
+ puts error.message
25
+ end
26
26
 
27
- # end
27
+ end
28
28
  end
29
29
  end
@@ -5,11 +5,12 @@ module Tamber
5
5
  should "return recommendations" do
6
6
  begin
7
7
  d = Tamber::Discover.recommended(
8
- :user => '38739',
8
+ :user => 'user_jctzgisbru',
9
+ :get_properties => true,
9
10
  :filter => {
10
11
  :eq => [
11
- {"property" => "type"},
12
- "artwork"
12
+ {"property" => "clothing_type"},
13
+ "pants"
13
14
  ]
14
15
  }
15
16
  )
@@ -19,28 +20,28 @@ module Tamber
19
20
  end
20
21
  end
21
22
 
22
- # should "return similar" do
23
- # begin
24
- # d = Tamber::Discover.similar(
25
- # :item => 'item_i5gq90scc1'
26
- # )
27
- # puts d
28
- # rescue TamberError => error
29
- # puts error.message
30
- # end
31
- # end
23
+ should "return similar" do
24
+ begin
25
+ d = Tamber::Discover.similar(
26
+ :item => 'item_i5gq90scc1'
27
+ )
28
+ d.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
29
+ rescue TamberError => error
30
+ puts error.message
31
+ end
32
+ end
32
33
 
33
- # should "return recommendedSimilar" do
34
- # begin
35
- # d = Tamber::Discover.recommendedSimilar(
36
- # :user => 'user_jctzgisbru',
37
- # :item => 'item_i5gq90scc1'
38
- # )
39
- # puts d
40
- # rescue TamberError => error
41
- # puts error.message
42
- # end
43
- # end
34
+ should "return recommendedSimilar" do
35
+ begin
36
+ d = Tamber::Discover.recommendedSimilar(
37
+ :user => 'user_jctzgisbru',
38
+ :item => 'item_i5gq90scc1'
39
+ )
40
+ d.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
41
+ rescue TamberError => error
42
+ puts error.message
43
+ end
44
+ end
44
45
 
45
46
  end
46
47
  end
data/test/event_test.rb CHANGED
@@ -2,52 +2,52 @@ require File.expand_path('../test_helper', __FILE__)
2
2
 
3
3
  module Tamber
4
4
  class EventTest < Test::Unit::TestCase
5
- # should "be trackable" do
6
- # begin
7
- # e = Tamber::Event.track(
8
- # :user => 'user_jctzgisbru',
9
- # :item => 'item_i5gq90scc1',
10
- # :behavior => 'mention',
11
- # :getRecs => {}
12
- # )
13
- # e.recommended.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
14
- # rescue TamberError => error
15
- # puts error.message
16
- # end
17
- # end
5
+ should "be trackable" do
6
+ begin
7
+ e = Tamber::Event.track(
8
+ :user => 'user_jctzgisbru',
9
+ :item => 'item_i5gq90scc1',
10
+ :behavior => 'mention',
11
+ :get_recs => {}
12
+ )
13
+ e.recommended.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
14
+ rescue TamberError => error
15
+ puts error.message
16
+ end
17
+ end
18
18
 
19
- # should "be retrievable" do
20
- # begin
21
- # e = Tamber::Event.retrieve(
22
- # :user => 'user_jctzgisbru',
23
- # )
24
- # puts e
25
- # rescue TamberError => error
26
- # puts error.message
27
- # end
28
- # end
19
+ should "be retrievable" do
20
+ begin
21
+ e = Tamber::Event.retrieve(
22
+ :user => 'user_jctzgisbru',
23
+ )
24
+ puts e
25
+ rescue TamberError => error
26
+ puts error.message
27
+ end
28
+ end
29
29
 
30
- # should "be batchable" do
31
- # begin
32
- # e = Tamber::Event.batch(
33
- # :events => [
34
- # {
35
- # :user => 'user_y7u9sv6we0',
36
- # :item => 'item_u9nlytt3w5',
37
- # :behavior => 'like'
38
- # },
39
- # {
40
- # :user => 'user_y7u9sv6we0',
41
- # :item => 'item_i5gq90scc1',
42
- # :behavior => 'like'
43
- # }
44
- # ]
45
- # )
46
- # puts e
47
- # rescue TamberError => error
48
- # puts error.message
49
- # end
50
- # end
30
+ should "be batchable" do
31
+ begin
32
+ e = Tamber::Event.batch(
33
+ :events => [
34
+ {
35
+ :user => 'user_y7u9sv6we0',
36
+ :item => 'item_u9nlytt3w5',
37
+ :behavior => 'mention'
38
+ },
39
+ {
40
+ :user => 'user_y7u9sv6we0',
41
+ :item => 'item_i5gq90scc1',
42
+ :behavior => 'mention'
43
+ }
44
+ ]
45
+ )
46
+ puts e
47
+ rescue TamberError => error
48
+ puts error.message
49
+ end
50
+ end
51
51
 
52
52
  end
53
53
  end
data/test/item_test.rb CHANGED
@@ -2,23 +2,23 @@ require File.expand_path('../test_helper', __FILE__)
2
2
 
3
3
  module Tamber
4
4
  class ItemTest < Test::Unit::TestCase
5
- # should "be creatable" do
6
- # begin
7
- # e = Tamber::Item.create(
8
- # :id => 'item_i7gq90scc1',
9
- # :properties => {
10
- # 'type'=> 'artwork',
11
- # 'artist'=> 'Alexander Calder',
12
- # 'img_small'=> 'https://imgs.acalder.png'
13
- # },
14
- # :tags => ['modern', 'acryllic'],
15
- # :created => 1454465400
16
- # )
17
- # puts e
18
- # rescue TamberError => error
19
- # puts error.message
20
- # end
21
- # end
5
+ should "be creatable" do
6
+ begin
7
+ e = Tamber::Item.create(
8
+ :id => 'item_i7gq90scc1',
9
+ :properties => {
10
+ 'type'=> 'artwork',
11
+ 'artist'=> 'Alexander Calder',
12
+ 'img_small'=> 'https://imgs.acalder.png'
13
+ },
14
+ :tags => ['modern', 'acryllic'],
15
+ :created => 1454465400
16
+ )
17
+ puts e
18
+ rescue TamberError => error
19
+ puts error.message
20
+ end
21
+ end
22
22
 
23
23
  should "be updatable" do
24
24
  begin
data/test/test_helper.rb CHANGED
@@ -8,10 +8,12 @@ class Test::Unit::TestCase
8
8
  include Mocha
9
9
 
10
10
  setup do
11
- Tamber.api_key = "Y2tpJMriyLnNImYKmdPd"
11
+ Tamber.project_key = "Mu6DUPXdDYe98cv5JIfX"
12
+ Tamber.engine_key = "SbWYPBNdARfIDa0IIO9L"
12
13
  end
13
14
 
14
15
  teardown do
15
- Tamber.api_key = nil
16
+ Tamber.project_key = nil
17
+ Tamber.engine_key = nil
16
18
  end
17
19
  end
data/test/user_test.rb CHANGED
@@ -3,62 +3,62 @@ require File.expand_path('../test_helper', __FILE__)
3
3
  module Tamber
4
4
  class UserTest < Test::Unit::TestCase
5
5
 
6
- # should "create user" do
7
- # begin
8
- # u = Tamber::User.create(
9
- # :id => 'user_rubytestA',
10
- # :events => [
11
- # {
12
- # :item => 'item_u9nlytt3w5',
13
- # :behavior => 'like'
14
- # },
15
- # {
16
- # :item => 'item_i5gq90scc1',
17
- # :behavior => 'like'
18
- # }
19
- # ]
20
- # )
21
- # puts u
22
- # rescue TamberError => error
23
- # puts error.message
24
- # end
25
- # end
6
+ should "create user" do
7
+ begin
8
+ u = Tamber::User.create(
9
+ :id => 'user_jctzgisbru',
10
+ :events => [
11
+ {
12
+ :item => 'item_u9nlytt3w5',
13
+ :behavior => 'like'
14
+ },
15
+ {
16
+ :item => 'item_i5gq90scc1',
17
+ :behavior => 'like'
18
+ }
19
+ ]
20
+ )
21
+ puts u
22
+ rescue TamberError => error
23
+ puts error.message
24
+ end
25
+ end
26
26
 
27
- # should "users should be able to be updated" do
28
- # begin
29
- # id = 'user_rubytestA'
30
- # metadata = {
31
- # 'name' => 'Rob Pike',
32
- # 'city' => 'Mountain View, CA'
33
- # }
34
- # u = Tamber::User.update(
35
- # :id => id,
36
- # :metadata => metadata
37
- # )
38
- # assert u.id == id
39
- # rescue TamberError => error
40
- # puts error.message
41
- # end
42
- # end
27
+ should "users should be able to be updated" do
28
+ begin
29
+ id = 'user_jctzgisbru'
30
+ metadata = {
31
+ 'name' => 'Rob Pike',
32
+ 'city' => 'Mountain View, CA'
33
+ }
34
+ u = Tamber::User.update(
35
+ :id => id,
36
+ :metadata => metadata
37
+ )
38
+ assert u.id == id
39
+ rescue TamberError => error
40
+ puts error.message
41
+ end
42
+ end
43
43
 
44
44
 
45
- # should "retrieve user" do
46
- # begin
47
- # id = 'user_rubytestA'
48
- # u = Tamber::User.retrieve(
49
- # :id => id,
50
- # :getRecs => {
51
- # :number => 10
52
- # }
53
- # )
54
- # puts u.inspect
55
- # puts u.metadata
56
- # puts u.metadata[:name]
57
- # assert u.id == id
58
- # rescue TamberError => error
59
- # puts error.message
60
- # end
61
- # end
45
+ should "retrieve user" do
46
+ begin
47
+ id = 'user_jctzgisbru'
48
+ u = Tamber::User.retrieve(
49
+ :id => id,
50
+ :get_recs => {
51
+ :number => 10
52
+ }
53
+ )
54
+ puts u.inspect
55
+ puts u.metadata
56
+ puts u.metadata[:name]
57
+ assert u.id == id
58
+ rescue TamberError => error
59
+ puts error.message
60
+ end
61
+ end
62
62
 
63
63
  end
64
64
  end
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.2
4
+ version: 0.1.3
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: 2016-02-26 00:00:00.000000000 Z
12
+ date: 2017-02-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
@@ -39,6 +39,20 @@ dependencies:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: 1.8.1
42
+ - !ruby/object:Gem::Dependency
43
+ name: activesupport
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: 4.2.6
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 4.2.6
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: mocha
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -101,7 +115,7 @@ email:
101
115
  - alexi@tamber.com
102
116
  - argusdusty@tamber.com
103
117
  executables:
104
- - tamber-0.1.1.gem
118
+ - tamber-0.1.3.gem
105
119
  extensions: []
106
120
  extra_rdoc_files: []
107
121
  files:
@@ -112,7 +126,7 @@ files:
112
126
  - README.rdoc
113
127
  - Rakefile
114
128
  - VERSION
115
- - bin/tamber-0.1.1.gem
129
+ - bin/tamber-0.1.3.gem
116
130
  - lib/security/ca-bundle.crt
117
131
  - lib/tamber.rb
118
132
  - lib/tamber/api_operations/create.rb
data/bin/tamber-0.1.1.gem DELETED
Binary file