micro_q 0.9.0 → 0.9.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 594090928b9d6ed47e533456305b1944bb76d593
4
- data.tar.gz: 76195292f3ea53b5d0b0ceb80033cac71e9e52a0
3
+ metadata.gz: 85d71665397e031adb0d4a67fc88d82b96b47e6f
4
+ data.tar.gz: c689e31647327758e24c3e3284ee02286523821f
5
5
  SHA512:
6
- metadata.gz: a6443272fd150e6ca1e1a022445bd22a462856af5db981b86a207e4665d599d58727125198ccb4ca77ae1077b1f2d225bf4c2f5baacad449894d1bb1491762c2
7
- data.tar.gz: 60c5ffda9d6cf7423ef0a86c6ba6fa012347cc1131db87260855e410f7c4336c09f4d109a817f178ded2b07c70805aaccc60fa02e3f25fa1f55cdc8c797dcd05
6
+ metadata.gz: 37a9585a5a0f6ece2a0f877ebf3e79b124132cc0acbb0f8c6a89e09dcb68a0bbdbbeff3ac7ceaea253c50f66a2a919a09822d5b2d5be3a1c3d80dab83f37698d
7
+ data.tar.gz: 22fc08bed15a60fb7131f096ee3af9e6b1c352f95b0c30fbf399a37b213282383f240535f9be8d51ea575d191a91b1f5c8246c9552ce4e7d536ea188d50f47f0
data/lib/micro_q/dsl.rb CHANGED
@@ -23,15 +23,19 @@ module MicroQ
23
23
  def self.attach_async_methods(target, opts)
24
24
  target.class_eval do
25
25
  (target.microq_options[:methods] |= opts.flatten).each do |method|
26
- target.define_singleton_method(:"#{method}_async") do |*args|
27
- MicroQ::Proxy::Instance.new(
28
- target.microq_options.dup.merge(:class => self)
29
- ).send(method, *args)
30
- end unless respond_to?(:"#{method}_async")
26
+ DSL.define_proxy_method target, method
31
27
  end
32
28
  end
33
29
  end
34
30
 
31
+ def self.define_proxy_method(target, method)
32
+ target.define_singleton_method(:"#{method}_async") do |*args|
33
+ MicroQ::Proxy::Instance.new(
34
+ target.microq_options.dup.merge(:class => self)
35
+ ).send(method, *args)
36
+ end unless respond_to?(:"#{method}_async")
37
+ end
38
+
35
39
  module ClassMethods
36
40
  def worker(*opts)
37
41
  self.class_eval do
@@ -63,13 +63,17 @@ module MicroQ
63
63
  def build_missing_workers
64
64
  @workers ||= []
65
65
 
66
- workers.reject! {|worker| !worker.alive? }
66
+ workers.select!(&:alive?)
67
67
 
68
- [MicroQ.config.workers - (workers.size + @busy.size), 0].max.times do
68
+ missing_worker_count.times do
69
69
  workers << MicroQ.config.worker.new_link(current_actor)
70
70
  end
71
71
  end
72
72
 
73
+ def missing_worker_count
74
+ [MicroQ.config.workers - (workers.size + @busy.size), 0].max
75
+ end
76
+
73
77
  def kill_all
74
78
  (@workers + @busy).each {|w| w.terminate if w.alive? }
75
79
  end
@@ -1,7 +1,7 @@
1
1
  module MicroQ
2
2
  MAJOR = 0
3
3
  MINOR = 9
4
- POINT = 0
4
+ POINT = 1
5
5
 
6
6
  VERSION = [MAJOR, MINOR, POINT].join('.')
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: micro_q
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Norton