tamber 0.1.11 → 0.1.12

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: bdd3589d598228fa188dcf72fbf58c415811eaa9
4
- data.tar.gz: 3e97977c9c85bfa56a643ef612daf17651376b58
3
+ metadata.gz: ff938263efc3c5aa656aab523beb101c9de80e86
4
+ data.tar.gz: d0c573e996b8f58c27d0e9ec47f189d2691d22ec
5
5
  SHA512:
6
- metadata.gz: 376c257df9d66d181def153f3aad03b20da2c97409805691c75875de9b7a7aa0ed83d09d878e6760728170e574edeced64862b7cc9290bb722ea32bdf3eb8d2a
7
- data.tar.gz: bd19752b928644a430c146d08a6bd41ad81f50a0dc330a86900948e5802216aa1a456c74aac1a941b25af617303ccb02112f5c951939f7a78398a7dfe065cbc5
6
+ metadata.gz: babeb332768806e4d7a7d55f6dd79ab74557d75325ca7203298533727fa38680871e5d7a9519e294d433757c467cd01f5998e40b5793cca3032eb24d2ded23a4
7
+ data.tar.gz: 69712d840fef4413e9626e65453f9113bf5a6ac166b65aee443da4efdd9dc382dad965b60b19fd0c0844f1c6ae2630541360430f06d52366c2c0132bec1d0244
data/README.md CHANGED
@@ -60,19 +60,18 @@ end
60
60
 
61
61
  Once you have tracked enough events and created your engine, it's time to put personalized recommendations in your app.
62
62
 
63
- The primary method of discovery in Tamber is the `Discover.next` method, which returns the optimal set of items that the user should be shown next.
63
+ The primary methods of discovery in Tamber are the `Discover.next` and `Discover.recommended` methods, which returns the optimal set of items that the user should be shown next on a given item page, and in a personalized recommendations section, respectively.
64
64
 
65
- #### For You
65
+ #### Up Next
66
66
 
67
- To put personalized recommendations on your homepage, or in any recommended section, just call `Discover.next` with the given user's id and the number of recommendations you want to display.
67
+ Don't make an item page a deadend. Keep users engaged by creating paths of discovery as they navigate from item to item, always showing the right mix of items they should check out next. Just add the id of the item that the user is navigating to / looking at.
68
68
 
69
69
  ```rb
70
- Tamber.project_key = 'your_project_key'
71
-
72
70
  begin
73
71
  d = Tamber::Discover.next(
74
72
  user: 'user_rlox8k927z7p',
75
- number: 10
73
+ item: 'item_wmt4fn6o4zlk',
74
+ number: 14
76
75
  )
77
76
  d.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
78
77
  rescue TamberError => error
@@ -80,16 +79,17 @@ rescue TamberError => error
80
79
  end
81
80
  ```
82
81
 
83
- #### Up Next
82
+ #### For You
84
83
 
85
- Keep users engaged by creating a path of discovery as they navigate from item to item, always showing the right mix of items they should check out next. Just add the id of the item that the user is navigating to / looking at.
84
+ To put personalized recommendations on your homepage, or in any recommended section, just call `Discover.recommended` with the given user's id and the number of recommendations you want to display.
86
85
 
87
86
  ```rb
87
+ Tamber.project_key = 'your_project_key'
88
+
88
89
  begin
89
- d = Tamber::Discover.next(
90
+ d = Tamber::Discover.recommended(
90
91
  user: 'user_rlox8k927z7p',
91
- item: 'item_wmt4fn6o4zlk',
92
- number: 14
92
+ number: 10
93
93
  )
94
94
  d.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
95
95
  rescue TamberError => error
@@ -100,9 +100,9 @@ end
100
100
 
101
101
  ##### `continuation`
102
102
 
103
- `Discover.next` is optimized for the exact moment and context of the user at the time of request, so standard pagination is not possible. Instead, `Discover.next` uses automatic continuation to allow you to 'show more' or implement infinite scrolling.
103
+ Recommendations are optimized for the exact moment and context of the user at the time of request, but sometimes a user wants to see more recommended items than are shown by default. In order to 'Show More', Tamber supports automatic continuation.
104
104
 
105
- When you want to add more recommendations to those currently displayed to the user, just set the `continuation` field to `true`. Tamber will automatically generate the set of items that should be appended to the current user-session's list. The `Discover.next` user-session is reset when `Discover.next` is called without `continuation`.
105
+ When you want to add more recommendations to those currently displayed to the user, just set the `continuation` field to `true`. Tamber will automatically generate the set of items that should be appended to the current user-session's list. The user-session is reset when `Discover.recommended` or `Discover.next` is called without `continuation`.
106
106
 
107
107
  ```rb
108
108
  Tamber.project_key = 'your_project_key'
@@ -150,19 +150,19 @@ Tamber allows you to use lower-level methods to get lists of recommended items,
150
150
 
151
151
  ```rb
152
152
  begin
153
- Tamber::Discover.recommended(user: 'user_rlox8k927z7p').each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
153
+ Tamber::Discover.basicRecommended(user: 'user_rlox8k927z7p').each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
154
154
  rescue TamberError => error
155
155
  puts error.message
156
156
  end
157
157
 
158
158
  begin
159
- Tamber::Discover.similar(item: 'item_wmt4fn6o4zlk').each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
159
+ Tamber::Discover.basicSimilar(item: 'item_wmt4fn6o4zlk').each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
160
160
  rescue TamberError => error
161
161
  puts error.message
162
162
  end
163
163
 
164
164
  begin
165
- Tamber::Discover.recommendedSimilar(
165
+ Tamber::Discover.basicRecommendedSimilar(
166
166
  user: 'user_rlox8k927z7p',
167
167
  item: 'item_wmt4fn6o4zlk'
168
168
  ).each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.11
1
+ 0.1.12
@@ -10,7 +10,11 @@ module Tamber
10
10
  if self == APIResource
11
11
  raise TamberError.new('APIResource is an abstract class. You should perform actions on its subclasses (Event, Discover, etc.)')
12
12
  end
13
- "/#{CGI.escape(class_name.downcase)}"
13
+ if class_name.downcase == "basic"
14
+ "/discover/#{CGI.escape(class_name.downcase)}"
15
+ else
16
+ "/#{CGI.escape(class_name.downcase)}"
17
+ end
14
18
  end
15
19
 
16
20
  def url
@@ -1,6 +1,5 @@
1
1
  module Tamber
2
2
  class Discover < APIResource
3
-
4
3
  def self.next(params={})
5
4
  response = request(:get, self.next_url, params)
6
5
  Util.convert_to_tamber_object(response)
@@ -11,15 +10,15 @@ module Tamber
11
10
  Util.convert_to_tamber_object(response)
12
11
  end
13
12
 
14
- def self.similar(params={})
15
- response = request(:get, self.similar_url, params)
13
+ def self.weekly(params={})
14
+ response = request(:get, self.weekly_url, params)
16
15
  Util.convert_to_tamber_object(response)
17
- end
16
+ end
18
17
 
19
- def self.recommendedSimilar(params={})
20
- response = request(:get, self.recommendedSimilar_url, params)
18
+ def self.daily(params={})
19
+ response = request(:get, self.daily_url, params)
21
20
  Util.convert_to_tamber_object(response)
22
- end
21
+ end
23
22
 
24
23
  def self.meta(params={})
25
24
  response = request(:get, self.meta_url, params)
@@ -46,20 +45,22 @@ module Tamber
46
45
  Util.convert_to_tamber_object(response)
47
46
  end
48
47
 
48
+
49
+
49
50
  def self.recommended_url
50
51
  url + '/recommended'
51
52
  end
52
53
 
53
- def self.similar_url
54
- url + '/similar'
54
+ def self.next_url
55
+ url + '/next'
55
56
  end
56
57
 
57
- def self.recommendedSimilar_url
58
- url + '/recommended_similar'
58
+ def self.weekly_url
59
+ url + '/weekly'
59
60
  end
60
61
 
61
- def self.next_url
62
- url + '/next'
62
+ def self.daily_url
63
+ url + '/daily'
63
64
  end
64
65
 
65
66
  def self.meta_url
@@ -82,6 +83,33 @@ module Tamber
82
83
  url + '/new'
83
84
  end
84
85
 
86
+ class Basic < APIResource
87
+ def self.recommended(params={})
88
+ response = request(:get, self.recommended_url, params)
89
+ Util.convert_to_tamber_object(response)
90
+ end
91
+
92
+ def self.similar(params={})
93
+ response = request(:get, self.similar_url, params)
94
+ Util.convert_to_tamber_object(response)
95
+ end
96
+
97
+ def self.recommendedSimilar(params={})
98
+ response = request(:get, self.recommendedSimilar_url, params)
99
+ Util.convert_to_tamber_object(response)
100
+ end
101
+ def self.recommended_url
102
+ url + '/recommended'
103
+ end
104
+
105
+ def self.similar_url
106
+ url + '/similar'
107
+ end
108
+
109
+ def self.recommendedSimilar_url
110
+ url + '/recommended_similar'
111
+ end
112
+ end
85
113
  end
86
114
 
87
115
  # Discover requests return an array of 'discovery' objects
@@ -1,3 +1,3 @@
1
1
  module Tamber
2
- VERSION = '0.1.11'
2
+ VERSION = '0.1.12'
3
3
  end
@@ -76,7 +76,7 @@ module Tamber
76
76
 
77
77
  should "return similar" do
78
78
  begin
79
- d = Tamber::Discover.similar(
79
+ d = Tamber::Discover::Basic.similar(
80
80
  :item => 'item_i5gq90scc1'
81
81
  )
82
82
  d.each { |rec| puts "item: #{rec.item}, score: #{rec.score}"}
@@ -85,7 +85,7 @@ module Tamber
85
85
 
86
86
  should "return recommendedSimilar" do
87
87
  begin
88
- d = Tamber::Discover.recommendedSimilar(
88
+ d = Tamber::Discover::Basic.recommendedSimilar(
89
89
  :user => 'user_jctzgisbru',
90
90
  :item => 'item_i5gq90scc1'
91
91
  )
@@ -9,7 +9,6 @@ class Test::Unit::TestCase
9
9
 
10
10
  setup do
11
11
  Tamber.project_key = "Mu6DUPXdDYe98cv5JIfX"
12
- Tamber.engine_key = "SbWYPBNdARfIDa0IIO9L"
13
12
  Tamber.open_timeout = 3
14
13
  Tamber.read_timeout = 2
15
14
  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.11
4
+ version: 0.1.12
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: 2018-04-16 00:00:00.000000000 Z
12
+ date: 2018-04-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client