abundance 1.3.2 → 1.3.3

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.
data/lib/garden_cycles.rb CHANGED
@@ -180,14 +180,18 @@ class Garden
180
180
  value = @crops.size.to_f / (@crops.size + @sprouts.compact.size + @seeds.size)
181
181
  value = 1 if value.nan?; progress = sprintf( "%.2f", value)
182
182
  message_block[2] = progress
183
+ when :finished
184
+ @seeds.empty? && @sprouts.empty? ? message_block[2] = true : message_block[2] = false
185
+ when :empty
186
+ @seeds.empty? && @sprouts.empty? && @crops.empty? ? message_block[2] = true : message_block[2] = false
183
187
  when :seed
184
188
  message_block[2] = @seeds.size
185
189
  when :sprout
186
190
  message_block[2] = @sprouts.compact.size
187
191
  when :crop
188
- message_block[2] = @crops.size
192
+ message_block[2] = @crops.compact.size
189
193
  else
190
- message_block[2] = false
194
+ message_block[2] = "Unknow garden command: growth(#{message_block[1].to_s})"
191
195
  end
192
196
 
193
197
  add_writable(message_block)
data/lib/gardener.rb CHANGED
@@ -92,6 +92,8 @@ class Gardener
92
92
  # === Parameter
93
93
  # The parameter given as a symbol specifies the level of growth report you wish to get:
94
94
  # * :progress = return actual progress status, scaled between 0.00 and 1.00
95
+ # * :empty = return true when no seeds are in garden
96
+ # * :finished = return true when no seeds are waiting or processing
95
97
  # * :seed = return total seeds waiting to be processed
96
98
  # * :sprout = return total seeds actually in process
97
99
  # * :crop = return total seeds for which process has completed
data/test/tc_high_api.rb CHANGED
@@ -50,6 +50,7 @@ class TestHighAPI < Test::Unit::TestCase
50
50
  assert_instance_of(Gardener,@g)
51
51
 
52
52
  check_init
53
+ check_empty(true); check_finished(true)
53
54
  check_false
54
55
  check_seed_harvest # leaves no crops in the queue
55
56
  check_full_harvest # also leaves no crops in the queue
@@ -69,6 +70,14 @@ class TestHighAPI < Test::Unit::TestCase
69
70
  assert_equal(init[:message],init[:pid],"init :pid should be the row pid, it isn't")
70
71
  end
71
72
  end
73
+
74
+ def check_empty(bool)
75
+ assert_equal(bool,@g.growth(:empty),"growth :empty does not return #{bool.to_s}")
76
+ end
77
+
78
+ def check_finished(bool)
79
+ assert_equal(bool,@g.growth(:finished),"growth :finished does not return #{bool.to_s}")
80
+ end
72
81
 
73
82
  def check_false
74
83
  id = @g.seed(nil)
@@ -124,7 +133,7 @@ class TestHighAPI < Test::Unit::TestCase
124
133
  25.times do |num|
125
134
  queue_items[num] = @g.seed(num)
126
135
  end
127
-
136
+ check_empty(false); check_finished(false)
128
137
  all = @g.harvest(:all)
129
138
  assert_kind_of(Hash,all, "the harvest :all method doesn't return a Hash as supposed")
130
139
  assert_equal(25,all[:seeds].size + all[:sprouts].size + all[:crops].size, "the harvest :all method returns a total of items not coherent with amount of seeded items")
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.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Louis-Philippe Perron
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-02-02 00:00:00 -05:00
12
+ date: 2009-02-05 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies: []
15
15