tamber 0.1.2 → 0.1.3

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: 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