Module: Pelican::Event
Instance Method Summary collapse
- #delete(id) ⇒ Object
- #insert(id, state) ⇒ Object
- #list(last_score = 0) ⇒ Object
- #pelican_id(id) ⇒ Object
Instance Method Details
#delete(id) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/pelican/event.rb', line 14 def delete(id) begin Pelican.redis.multi do Pelican.redis.zrem(Pelican.key, pelican_id(id)) Pelican.del(pelican_id(id)) end end end |
#insert(id, state) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/pelican/event.rb', line 5 def insert(id, state) begin Pelican.redis.multi do Pelican.redis.set(pelican_id(id), state) end update_event_list(pelican_id(id)) end end |
#list(last_score = 0) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/pelican/event.rb', line 23 def list(last_score = 0) max_score = last_score last_score = '(' + last_score.to_s # make the search on last score exclusive Pelican.redis.zrangebyscore(Pelican.key, last_score, '+inf', { withscores: true }).each do |id| yield Pelican.redis.get(id[0]) max_score = id[1] end max_score end |
#pelican_id(id) ⇒ Object
33 34 35 |
# File 'lib/pelican/event.rb', line 33 def pelican_id(id) ['pelican', id].join(':') end |