agis 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/agis.rb +12 -1
  3. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7ea2ef4e507cea68fd6658697e07057904330567
4
- data.tar.gz: 6f47831882d708fab0a8806cbb3f27502ddc6f4c
3
+ metadata.gz: d532451735134635bd6a880bd534f48fafdb0a53
4
+ data.tar.gz: 85725b2309aec941cbda5f6e35ca554b7af40581
5
5
  SHA512:
6
- metadata.gz: 61b311da1175aa2483c77837519d6e3c598ea566acc1d70b7dd625e3f06f44138a0297a7aa05a2dbc23841a42c6dca199dde283f9a7991d7fe94f08af5394f2a
7
- data.tar.gz: 79890cdb4d074f5eca258dfdbf42ebe4fe02423ce9b4b800671ba1f7628dfdd38587f34ceed26342e57bf6106354e82baccefd8514ee4d109ab2286e6810638e
6
+ metadata.gz: 11c59e8dfc92ae066ced3138ce200eadcac7a6a8428a554d1d629c0240f2c52e457e0dd89a065312e42c2b6936689c7d66c15096d944137b4e8fccb7e03f67b6
7
+ data.tar.gz: 877cfb4136876e558f3406979c4f0b7c8ddd775b49df655ffbf20a94a8ea608a15084a55e60f18e267c4b577e258c31a42e69d0040845cb61ce4927dc0503744
@@ -167,7 +167,7 @@ module Agis
167
167
  else
168
168
  mc = @agis_methods[mns][:arity]
169
169
  mrm = @agis_methods[mns][:mode]
170
- meti = @agis_methods[mns][:method]
170
+ meti = @agis_methods[mns][:method]
171
171
  case meti
172
172
  when Proc
173
173
  met = meti
@@ -227,6 +227,16 @@ module Agis
227
227
  end
228
228
  end
229
229
 
230
+ def _agis_cleanup_when_empty(redis)
231
+ redis.del(self.agis_mailbox)
232
+ redis.srem("AGIS_MAILBOX_GLOBAL_LIST", self.agis_mailbox)
233
+ redis.srem("AGIS_MAILBOX_CLASS:" + self.class.to_s, self.agis_id_prelim)
234
+ if(redis.scard("AGIS_MAILBOX_CLASS:" + self.class.to_s) == 0)
235
+ redis.del("AGIS_MAILBOX_CLASS:" + self.class.to_s)
236
+ redis.srem("AGIS_MAILBOX_CLASSES", self.class.to_s)
237
+ end
238
+ end
239
+
230
240
  def _agis_crunch(redis, usig)
231
241
  loop do
232
242
  redis.lock(self.agis_boxlock, life: 10) do |lock|
@@ -234,6 +244,7 @@ module Agis
234
244
  next if lock.stale_key?
235
245
  u = agis_try_usig(redis, usig)
236
246
  if a == :empty
247
+ _agis_cleanup_when_empty(redis)
237
248
  raise Agis::MessageBoxEmpty unless u
238
249
  end
239
250
  return agis_fconv(u) if u
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gert Oja
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-26 00:00:00.000000000 Z
11
+ date: 2015-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -70,3 +70,4 @@ signing_key:
70
70
  specification_version: 4
71
71
  summary: Messagebox Redis Actors for Ruby
72
72
  test_files: []
73
+ has_rdoc: