Module: Pelican::Event

Extended by:
Event
Included in:
Event
Defined in:
lib/pelican/event.rb

Instance Method Summary collapse

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