-
Notifications
You must be signed in to change notification settings - Fork 30
/
actor.rb
34 lines (31 loc) · 910 Bytes
/
actor.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
module Timeline
module Actor
extend ActiveSupport::Concern
included do
def timeline(options={})
::Timeline.get_list(timeline_options(options)).map do |item|
::Timeline::Activity.new ::Timeline.decode(item)
end
end
def followers
[]
end
private
def timeline_options(options)
defaults = { list_name: "user:id:#{self.id}:activity", start: 0, end: 19 }
if options.is_a? Hash
defaults.merge!(options)
elsif options.is_a? Symbol
case options
when :global
defaults.merge!(list_name: "global:activity")
when :posts
defaults.merge!(list_name: "user:id:#{self.id}:posts")
when :mentions
defaults.merge!(list_name: "user:id:#{self.id}:mentions")
end
end
end
end
end
end