abundance 1.0.3 → 1.0.4

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. data/lib/garden.rb +12 -1
  2. data/lib/gardener.rb +1 -0
  3. metadata +1 -1
@@ -31,7 +31,7 @@ class Garden
31
31
 
32
32
  def initialize
33
33
  @pid = fork do
34
- @quit = false
34
+ @quit = false; @full_crop = false
35
35
  @harvest = []
36
36
  @rows_port = []
37
37
  @seeds = []; @sprouts = []; @crops = []; @id = 0
@@ -77,6 +77,9 @@ class Garden
77
77
  if @harvest[data[:id]]
78
78
  socket_server_send(command,data, @harvest[data[:id]][:clientaddr], @harvest[data[:id]][:clientport])
79
79
  @crops[data[:id]] = @harvest[data[:id]] = nil
80
+ elsif @full_crop && @seeds.compact.empty? && @sprouts.compact.empty?
81
+ socket_server_send(command,@crops.compact,@mem_addr,@mem_port)
82
+ @crops.clear; @full_crop = false
80
83
  end
81
84
  when :growth
82
85
  case data
@@ -104,6 +107,14 @@ class Garden
104
107
  when :crop
105
108
  socket_server_send(command,@crops.compact,clientaddr,clientport)
106
109
  @crops.clear
110
+ when :full_crop
111
+ if @seeds.compact.empty? && @sprouts.compact.empty?
112
+ socket_server_send(command,@crops.compact,clientaddr,clientport)
113
+ @crops.clear
114
+ else
115
+ @full_crop = true
116
+ @mem_addr = clientaddr; @mem_port = clientport
117
+ end
107
118
  else
108
119
  if data.is_a? Integer
109
120
  if @crops[data]
@@ -76,6 +76,7 @@ class Gardener
76
76
  # * :sprout = return an array of seed actually processing
77
77
  # * :seed = return an array of seed waiting to be processed
78
78
  # * :all = return a hash of respective arrays for crops, sprouts and seeds
79
+ # * :full_crop = wait for all seeds to be done processing, then returns as in :crop.
79
80
  # === Example
80
81
  # seed1_result = gardener.harvest(id_seed_1)
81
82
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abundance
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Louis-Philippe Perron