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 |
# 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 statuses = t.get("#{screen_name}/lists/#{slug}/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
37 38 39 40 41 42 43 |
# File 'lib/atig/agent/list_status.rb', line 37 def parse(name) if name.include? '^' then name.split("^",2) else [@db.me.screen_name, name] end end |