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 +4 -4
- data/README.rdoc +8 -5
- data/VERSION +1 -1
- data/bin/tamber-0.1.3.gem +0 -0
- data/lib/tamber.rb +11 -12
- data/lib/tamber/discover.rb +1 -1
- data/lib/tamber/version.rb +1 -1
- data/tamber.gemspec +1 -0
- data/test/behavior_test.rb +21 -21
- data/test/discover_test.rb +25 -24
- data/test/event_test.rb +44 -44
- data/test/item_test.rb +17 -17
- data/test/test_helper.rb +4 -2
- data/test/user_test.rb +53 -53
- metadata +18 -4
- data/bin/tamber-0.1.1.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34977d3642e3fadc688e4fb95a73e54a44ec2dc5
|
4
|
+
data.tar.gz: e336d5302a49b3d7c0905e79c3030754c0bb3061
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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.
|
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
|
-
:
|
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-
|
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.
|
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 :
|
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
|
-
|
65
|
-
raise TamberError.new('
|
66
|
-
'
|
67
|
-
'
|
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
|
73
|
-
raise TamberError.new('Your
|
74
|
-
'whitespace. (HINT: You can double-check your
|
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(
|
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(
|
116
|
-
encoded_key = Base64.encode64(
|
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,
|
data/lib/tamber/discover.rb
CHANGED
data/lib/tamber/version.rb
CHANGED
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')
|
data/test/behavior_test.rb
CHANGED
@@ -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
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
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
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
-
|
27
|
+
end
|
28
28
|
end
|
29
29
|
end
|
data/test/discover_test.rb
CHANGED
@@ -5,11 +5,12 @@ module Tamber
|
|
5
5
|
should "return recommendations" do
|
6
6
|
begin
|
7
7
|
d = Tamber::Discover.recommended(
|
8
|
-
:user => '
|
8
|
+
:user => 'user_jctzgisbru',
|
9
|
+
:get_properties => true,
|
9
10
|
:filter => {
|
10
11
|
:eq => [
|
11
|
-
{"property" => "
|
12
|
-
"
|
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
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
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
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
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
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
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
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
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
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
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
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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.
|
11
|
+
Tamber.project_key = "Mu6DUPXdDYe98cv5JIfX"
|
12
|
+
Tamber.engine_key = "SbWYPBNdARfIDa0IIO9L"
|
12
13
|
end
|
13
14
|
|
14
15
|
teardown do
|
15
|
-
Tamber.
|
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
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
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
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
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.
|
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:
|
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.
|
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.
|
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
|