Class: Atig::Agent::ListStatus
- Inherits:
-
Object
- Object
- Atig::Agent::ListStatus
- Includes:
- Util
- Defined in:
- lib/atig/agent/list_status.rb
Instance Method Summary collapse
-
#initialize(context, api, db) ⇒ ListStatus
constructor
A new instance of ListStatus.
- #parse(name) ⇒ Object
Methods included from ExceptionUtil
Constructor Details
#initialize(context, api, db) ⇒ ListStatus
Returns a new instance of ListStatus.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/atig/agent/list_status.rb', line 11 def initialize(context, api, db) @log = context.log @db = db log :info, "initialize" @prev = {} api.repeat(60*5) do|t| db.lists.each do |name, _| log :debug, "retrieve #{name} statuses" q = {} q.update(:since_id => @prev[name]) if @prev.key?(name) screen_name, slug = parse name q.update(:owner_screen_name => screen_name, :slug => slug) statuses = t.get("lists/statuses", q) statuses.reverse_each do|status| db.statuses.transaction do|d| d.add(:status => status, :user => status.user, :source => :list, :list => name) end end @prev[name] = statuses[0].id if statuses && statuses.size > 0 end end def parse(name) if name.include? '^' then name.split("^",2) else [@db.me.screen_name, name] end end end |
Instance Method Details
#parse(name) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/atig/agent/list_status.rb', line 38 def parse(name) if name.include? '^' then name.split("^",2) else [@db.me.screen_name, name] end end |