cartesian 0.6.6 → 0.6.7

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.
@@ -1,3 +1,8 @@
1
+ === 0.6.7 2012-04-15
2
+
3
+ * 1 bug fix:
4
+ * Thanks to bclennox for "Fixing a problem with JRuby 1.7 and yielding in CartesianIterator#each."
5
+
1
6
  === 0.6.6 2012-04-15
2
7
 
3
8
  * 2 minor documentation fixes:
@@ -39,7 +39,7 @@ module Cartesian
39
39
  # Unfortunately, as of now, the version data must be replicated in ../cartesian.rb,
40
40
  # due to a mix of newgem versions, each requiring a different one. Not DRY :P
41
41
  #
42
- VERSION = "0.6.6"
42
+ VERSION = "0.6.7"
43
43
 
44
44
  # Produces the cartesian product of self and other.
45
45
  # The result is an array of pairs (i.e. two-element arrays).
@@ -5,8 +5,8 @@ module Cartesian #:nodoc:
5
5
  #
6
6
  module VERSION #:nodoc:
7
7
  MAJOR = 0
8
- MINOR = 5
9
- TINY = 3
8
+ MINOR = 6
9
+ TINY = 7
10
10
 
11
11
  STRING = [MAJOR, MINOR, TINY].join('.')
12
12
  end
@@ -58,14 +58,14 @@ class CartesianIterator
58
58
  for list in @lists
59
59
  elems << list.restart_and_raw_next
60
60
  end
61
- if RUBY_VERSION <= '1.9.1'; yield(*elems.map {|x| x }); else; yield(*elems); end # Yeah, v.map{|x|x} should be equal to v, but strangely it is NOT in Ruby versions prior to 1.9.2.
61
+ yield(*elems.dup)
62
62
 
63
63
  last_list_index = @lists.size-1
64
64
  n = last_list_index
65
65
  loop do
66
66
  if !@lists[n].done?
67
67
  elems[n] = @lists[n].raw_next
68
- if RUBY_VERSION <= '1.9.1'; yield(*elems.map {|x| x }); else; yield(*elems); end # See previous comment.
68
+ yield(*elems.dup)
69
69
  n = last_list_index
70
70
  next
71
71
  elsif n > 0
@@ -201,13 +201,13 @@
201
201
  <div class="method-source-code"
202
202
  id="new-source">
203
203
  <pre>
204
- <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 9</span>
205
- 9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">foo</span>, <span class="ruby-identifier">bar</span>)
206
- 10: <span class="ruby-ivar">@lists</span> = []
207
- 11: <span class="ruby-ivar">@tot_iter</span> = <span class="ruby-value">1</span>
208
- 12: <span class="ruby-identifier">product!</span>(<span class="ruby-identifier">foo</span>)
209
- 13: <span class="ruby-identifier">product!</span>(<span class="ruby-identifier">bar</span>)
210
- 14: <span class="ruby-keyword kw">end</span></pre>
204
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 3</span>
205
+ 3: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">foo</span>, <span class="ruby-identifier">bar</span>)
206
+ 4: <span class="ruby-ivar">@lists</span> = []
207
+ 5: <span class="ruby-ivar">@tot_iter</span> = <span class="ruby-value">1</span>
208
+ 6: <span class="ruby-identifier">product!</span>(<span class="ruby-identifier">foo</span>)
209
+ 7: <span class="ruby-identifier">product!</span>(<span class="ruby-identifier">bar</span>)
210
+ 8: <span class="ruby-keyword kw">end</span></pre>
211
211
  </div>
212
212
 
213
213
  </div>
@@ -273,10 +273,10 @@
273
273
  <div class="method-source-code"
274
274
  id="dup-source">
275
275
  <pre>
276
- <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 16</span>
277
- 16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dup</span>
278
- 17: <span class="ruby-constant">Marshal</span>.<span class="ruby-identifier">load</span>(<span class="ruby-constant">Marshal</span>.<span class="ruby-identifier">dump</span>(<span class="ruby-keyword kw">self</span>))
279
- 18: <span class="ruby-keyword kw">end</span></pre>
276
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 10</span>
277
+ 10: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dup</span>
278
+ 11: <span class="ruby-constant">Marshal</span>.<span class="ruby-identifier">load</span>(<span class="ruby-constant">Marshal</span>.<span class="ruby-identifier">dump</span>(<span class="ruby-keyword kw">self</span>))
279
+ 12: <span class="ruby-keyword kw">end</span></pre>
280
280
  </div>
281
281
 
282
282
  </div>
@@ -307,32 +307,31 @@
307
307
  <div class="method-source-code"
308
308
  id="each-source">
309
309
  <pre>
310
- <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 54</span>
311
- 54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
312
- 55: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tot_iter</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span>
310
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 48</span>
311
+ 48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>
312
+ 49: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@tot_iter</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">1</span>
313
+ 50:
314
+ 51: <span class="ruby-identifier">elems</span> = []
315
+ 52: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">list</span> <span class="ruby-keyword kw">in</span> <span class="ruby-ivar">@lists</span>
316
+ 53: <span class="ruby-identifier">elems</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">restart_and_raw_next</span>
317
+ 54: <span class="ruby-keyword kw">end</span>
318
+ 55: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'1.9.1'</span>; <span class="ruby-keyword kw">yield</span>(*<span class="ruby-identifier">elems</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span> }); <span class="ruby-keyword kw">else</span>; <span class="ruby-keyword kw">yield</span>(*<span class="ruby-identifier">elems</span>); <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># Yeah, v.map{|x|x} should be equal to v, but strangely it is NOT in Ruby versions prior to 1.9.2.</span>
313
319
  56:
314
- 57: <span class="ruby-identifier">elems</span> = []
315
- 58: <span class="ruby-keyword kw">for</span> <span class="ruby-identifier">list</span> <span class="ruby-keyword kw">in</span> <span class="ruby-ivar">@lists</span>
316
- 59: <span class="ruby-identifier">elems</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">list</span>.<span class="ruby-identifier">restart_and_raw_next</span>
317
- 60: <span class="ruby-keyword kw">end</span>
318
- 61: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'1.9.1'</span>; <span class="ruby-keyword kw">yield</span>(*<span class="ruby-identifier">elems</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span> }); <span class="ruby-keyword kw">else</span>; <span class="ruby-keyword kw">yield</span>(*<span class="ruby-identifier">elems</span>); <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># Yeah, v.map{|x|x} should be equal to v, but strangely it is NOT in Ruby versions prior to 1.9.2.</span>
319
- 62:
320
- 63: <span class="ruby-identifier">last_list_index</span> = <span class="ruby-ivar">@lists</span>.<span class="ruby-identifier">size</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>
321
- 64: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">last_list_index</span>
322
- 65: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
323
- 66: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@lists</span>[<span class="ruby-identifier">n</span>].<span class="ruby-identifier">done?</span>
324
- 67: <span class="ruby-identifier">elems</span>[<span class="ruby-identifier">n</span>] = <span class="ruby-ivar">@lists</span>[<span class="ruby-identifier">n</span>].<span class="ruby-identifier">raw_next</span>
325
- 68: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'1.9.1'</span>; <span class="ruby-keyword kw">yield</span>(*<span class="ruby-identifier">elems</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span> }); <span class="ruby-keyword kw">else</span>; <span class="ruby-keyword kw">yield</span>(*<span class="ruby-identifier">elems</span>); <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># See previous comment.</span>
326
- 69: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">last_list_index</span>
327
- 70: <span class="ruby-keyword kw">next</span>
328
- 71: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
329
- 72: <span class="ruby-identifier">elems</span>[<span class="ruby-identifier">n</span>] = <span class="ruby-ivar">@lists</span>[<span class="ruby-identifier">n</span>].<span class="ruby-identifier">restart_and_raw_next</span>
330
- 73: <span class="ruby-identifier">n</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
331
- 74: <span class="ruby-keyword kw">else</span>
332
- 75: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
333
- 76: <span class="ruby-keyword kw">end</span>
334
- 77: <span class="ruby-keyword kw">end</span>
335
- 78: <span class="ruby-keyword kw">end</span></pre>
320
+ 57: <span class="ruby-identifier">last_list_index</span> = <span class="ruby-ivar">@lists</span>.<span class="ruby-identifier">size</span><span class="ruby-operator">-</span><span class="ruby-value">1</span>
321
+ 58: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">last_list_index</span>
322
+ 59: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
323
+ 60: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">elems</span>[<span class="ruby-identifier">n</span>] = <span class="ruby-ivar">@lists</span>[<span class="ruby-identifier">n</span>].<span class="ruby-identifier">raw_next</span>
324
+ 61: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&lt;=</span> <span class="ruby-value str">'1.9.1'</span>; <span class="ruby-keyword kw">yield</span>(*<span class="ruby-identifier">elems</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span> }); <span class="ruby-keyword kw">else</span>; <span class="ruby-keyword kw">yield</span>(*<span class="ruby-identifier">elems</span>); <span class="ruby-keyword kw">end</span> <span class="ruby-comment cmt"># See previous comment.</span>
325
+ 62: <span class="ruby-identifier">n</span> = <span class="ruby-identifier">last_list_index</span>
326
+ 63: <span class="ruby-keyword kw">next</span>
327
+ 64: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">n</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
328
+ 65: <span class="ruby-identifier">elems</span>[<span class="ruby-identifier">n</span>] = <span class="ruby-ivar">@lists</span>[<span class="ruby-identifier">n</span>].<span class="ruby-identifier">restart_and_raw_next</span>
329
+ 66: <span class="ruby-identifier">n</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span>
330
+ 67: <span class="ruby-keyword kw">else</span>
331
+ 68: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
332
+ 69: <span class="ruby-keyword kw">end</span>
333
+ 70: <span class="ruby-keyword kw">end</span>
334
+ 71: <span class="ruby-keyword kw">end</span></pre>
336
335
  </div>
337
336
 
338
337
  </div>
@@ -363,13 +362,13 @@
363
362
  <div class="method-source-code"
364
363
  id="equal-source">
365
364
  <pre>
366
- <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 20</span>
367
- 20: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">equal</span>(<span class="ruby-identifier">other</span>)
368
- 21: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var_name</span><span class="ruby-operator">|</span>
369
- 22: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">var_name</span>) <span class="ruby-operator">!=</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">var_name</span>)
370
- 23: <span class="ruby-keyword kw">end</span>
371
- 24: <span class="ruby-keyword kw">true</span>
372
- 25: <span class="ruby-keyword kw">end</span></pre>
365
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 14</span>
366
+ 14: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">equal</span>(<span class="ruby-identifier">other</span>)
367
+ 15: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var_name</span><span class="ruby-operator">|</span>
368
+ 16: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">var_name</span>) <span class="ruby-operator">!=</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">var_name</span>)
369
+ 17: <span class="ruby-keyword kw">end</span>
370
+ 18: <span class="ruby-keyword kw">true</span>
371
+ 19: <span class="ruby-keyword kw">end</span></pre>
373
372
  </div>
374
373
 
375
374
  </div>
@@ -404,11 +403,11 @@
404
403
  <div class="method-source-code"
405
404
  id="left-product-source">
406
405
  <pre>
407
- <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 49</span>
408
- 49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">left_product</span>(<span class="ruby-identifier">other</span>)
409
- 50: (<span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>).<span class="ruby-identifier">left_product!</span>(<span class="ruby-identifier">other</span>)
410
- 51: <span class="ruby-identifier">result</span>
411
- 52: <span class="ruby-keyword kw">end</span></pre>
406
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 43</span>
407
+ 43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">left_product</span>(<span class="ruby-identifier">other</span>)
408
+ 44: (<span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>).<span class="ruby-identifier">left_product!</span>(<span class="ruby-identifier">other</span>)
409
+ 45: <span class="ruby-identifier">result</span>
410
+ 46: <span class="ruby-keyword kw">end</span></pre>
412
411
  </div>
413
412
 
414
413
  </div>
@@ -439,12 +438,12 @@
439
438
  <div class="method-source-code"
440
439
  id="left-product--source">
441
440
  <pre>
442
- <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 36</span>
443
- 36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">left_product!</span>(<span class="ruby-identifier">other</span>)
444
- 37: <span class="ruby-ivar">@lists</span>.<span class="ruby-identifier">unshift</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">other</span>).<span class="ruby-identifier">dup</span>
445
- 38: <span class="ruby-ivar">@tot_iter</span> <span class="ruby-operator">*=</span> <span class="ruby-ivar">@lists</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">size</span>
446
- 39: <span class="ruby-keyword kw">self</span>
447
- 40: <span class="ruby-keyword kw">end</span></pre>
441
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 30</span>
442
+ 30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">left_product!</span>(<span class="ruby-identifier">other</span>)
443
+ 31: <span class="ruby-ivar">@lists</span>.<span class="ruby-identifier">unshift</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">dup</span>
444
+ 32: <span class="ruby-ivar">@tot_iter</span> <span class="ruby-operator">*=</span> <span class="ruby-ivar">@lists</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">size</span>
445
+ 33: <span class="ruby-keyword kw">self</span>
446
+ 34: <span class="ruby-keyword kw">end</span></pre>
448
447
  </div>
449
448
 
450
449
  </div>
@@ -475,11 +474,11 @@
475
474
  <div class="method-source-code"
476
475
  id="product-source">
477
476
  <pre>
478
- <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 42</span>
479
- 42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">product</span>(<span class="ruby-identifier">other</span>)
480
- 43: (<span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>).<span class="ruby-identifier">product!</span>(<span class="ruby-identifier">other</span>)
481
- 44: <span class="ruby-identifier">result</span>
482
- 45: <span class="ruby-keyword kw">end</span></pre>
477
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 36</span>
478
+ 36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">product</span>(<span class="ruby-identifier">other</span>)
479
+ 37: (<span class="ruby-identifier">result</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>).<span class="ruby-identifier">product!</span>(<span class="ruby-identifier">other</span>)
480
+ 38: <span class="ruby-identifier">result</span>
481
+ 39: <span class="ruby-keyword kw">end</span></pre>
483
482
  </div>
484
483
 
485
484
  </div>
@@ -514,12 +513,12 @@
514
513
  <div class="method-source-code"
515
514
  id="product--source">
516
515
  <pre>
517
- <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 28</span>
518
- 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">product!</span>(<span class="ruby-identifier">other</span>)
519
- 29: <span class="ruby-ivar">@lists</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">other</span>).<span class="ruby-identifier">dup</span>
520
- 30: <span class="ruby-ivar">@tot_iter</span> <span class="ruby-operator">*=</span> <span class="ruby-ivar">@lists</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">size</span>
521
- 31: <span class="ruby-keyword kw">self</span>
522
- 32: <span class="ruby-keyword kw">end</span></pre>
516
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 22</span>
517
+ 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">product!</span>(<span class="ruby-identifier">other</span>)
518
+ 23: <span class="ruby-ivar">@lists</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">dup</span>
519
+ 24: <span class="ruby-ivar">@tot_iter</span> <span class="ruby-operator">*=</span> <span class="ruby-ivar">@lists</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">size</span>
520
+ 25: <span class="ruby-keyword kw">self</span>
521
+ 26: <span class="ruby-keyword kw">end</span></pre>
523
522
  </div>
524
523
 
525
524
  </div>
@@ -38,8 +38,8 @@
38
38
  <div class="section-body">
39
39
  <ul>
40
40
 
41
- <li><a href="./lib/iterable_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
- class="thickbox" title="lib/iterable.rb">lib/iterable.rb</a></li>
41
+ <li><a href="./lib/cartesian_iterator_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/cartesian_iterator.rb">lib/cartesian_iterator.rb</a></li>
43
43
 
44
44
  </ul>
45
45
  </div>
@@ -62,8 +62,6 @@
62
62
  <h3 class="section-header">Methods</h3>
63
63
  <ul class="link-list">
64
64
 
65
- <li><a href="#method-i-done%3F">#done?</a></li>
66
-
67
65
  <li><a href="#method-i-next">#next</a></li>
68
66
 
69
67
  <li><a href="#method-i-raw_next">#raw_next</a></li>
@@ -147,43 +145,6 @@
147
145
  <h3 class="section-header">Public Instance Methods</h3>
148
146
 
149
147
 
150
- <div id="done--method" class="method-detail ">
151
- <a name="method-i-done%3F"></a>
152
-
153
- <div class="method-heading">
154
-
155
- <span class="method-name">done?</span><span
156
- class="method-args">()</span>
157
- <span class="method-click-advice">click to toggle source</span>
158
-
159
- </div>
160
-
161
- <div class="method-description">
162
-
163
- <p>
164
- TODO: consider a module inclusion time solution to &#8220;count rescue
165
- size&#8221;, for performance sake
166
- </p>
167
-
168
-
169
-
170
- <div class="method-source-code"
171
- id="done--source">
172
- <pre>
173
- <span class="ruby-comment cmt"># File lib/iterable.rb, line 22</span>
174
- 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">done?</span>
175
- 23: <span class="ruby-ivar">@next_index</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-ivar">@next_index</span> <span class="ruby-operator">==</span> (<span class="ruby-identifier">count</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-identifier">size</span>)<span class="ruby-operator">-</span><span class="ruby-value">1</span>)
176
- 24: <span class="ruby-keyword kw">end</span></pre>
177
- </div>
178
-
179
- </div>
180
-
181
-
182
-
183
-
184
- </div>
185
-
186
-
187
148
  <div id="next-method" class="method-detail ">
188
149
  <a name="method-i-next"></a>
189
150
 
@@ -204,11 +165,11 @@ size&#8221;, for performance sake
204
165
  <div class="method-source-code"
205
166
  id="next-source">
206
167
  <pre>
207
- <span class="ruby-comment cmt"># File lib/iterable.rb, line 7</span>
208
- 7: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">next</span>
209
- 8: <span class="ruby-identifier">restart</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">defined?</span> <span class="ruby-ivar">@next_index</span>
210
- 9: <span class="ruby-identifier">raw_next</span>
211
- 10: <span class="ruby-keyword kw">end</span></pre>
168
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 83</span>
169
+ 83: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">next</span>
170
+ 84: <span class="ruby-identifier">restart</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">defined?</span> <span class="ruby-ivar">@next_index</span>
171
+ 85: <span class="ruby-identifier">raw_next</span>
172
+ 86: <span class="ruby-keyword kw">end</span></pre>
212
173
  </div>
213
174
 
214
175
  </div>
@@ -239,11 +200,10 @@ size&#8221;, for performance sake
239
200
  <div class="method-source-code"
240
201
  id="raw-next-source">
241
202
  <pre>
242
- <span class="ruby-comment cmt"># File lib/iterable.rb, line 12</span>
243
- 12: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">raw_next</span>
244
- 13: <span class="ruby-identifier">raise</span> <span class="ruby-constant">RangeError</span>, <span class="ruby-value str">'there is no next element, please restart'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">done?</span>
245
- 14: <span class="ruby-keyword kw">self</span>[<span class="ruby-ivar">@next_index</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>]
246
- 15: <span class="ruby-keyword kw">end</span></pre>
203
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 88</span>
204
+ 88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">raw_next</span>
205
+ 89: <span class="ruby-keyword kw">self</span>[<span class="ruby-ivar">@next_index</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>]
206
+ 90: <span class="ruby-keyword kw">end</span></pre>
247
207
  </div>
248
208
 
249
209
  </div>
@@ -274,11 +234,11 @@ size&#8221;, for performance sake
274
234
  <div class="method-source-code"
275
235
  id="restart-source">
276
236
  <pre>
277
- <span class="ruby-comment cmt"># File lib/iterable.rb, line 2</span>
278
- 2: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restart</span>
279
- 3: <span class="ruby-ivar">@next_index</span> = <span class="ruby-value">1</span>
280
- 4: <span class="ruby-keyword kw">self</span>
281
- 5: <span class="ruby-keyword kw">end</span></pre>
237
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 78</span>
238
+ 78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restart</span>
239
+ 79: <span class="ruby-ivar">@next_index</span> = <span class="ruby-value">1</span>
240
+ 80: <span class="ruby-keyword kw">true</span>
241
+ 81: <span class="ruby-keyword kw">end</span></pre>
282
242
  </div>
283
243
 
284
244
  </div>
@@ -309,10 +269,10 @@ size&#8221;, for performance sake
309
269
  <div class="method-source-code"
310
270
  id="restart-and-raw-next-source">
311
271
  <pre>
312
- <span class="ruby-comment cmt"># File lib/iterable.rb, line 17</span>
313
- 17: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restart_and_raw_next</span>
314
- 18: <span class="ruby-keyword kw">self</span>[<span class="ruby-ivar">@next_index</span> = <span class="ruby-value">0</span>]
315
- 19: <span class="ruby-keyword kw">end</span></pre>
272
+ <span class="ruby-comment cmt"># File lib/cartesian_iterator.rb, line 92</span>
273
+ 92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restart_and_raw_next</span>
274
+ 93: <span class="ruby-keyword kw">self</span>[<span class="ruby-ivar">@next_index</span> = <span class="ruby-value">0</span>]
275
+ 94: <span class="ruby-keyword kw">end</span></pre>
316
276
  </div>
317
277
 
318
278
  </div>
@@ -183,7 +183,7 @@ sudo gem install cartesian
183
183
  (The MIT License)
184
184
  </p>
185
185
  <p>
186
- Copyright &#169; 2006-2012 Adriano Mitre <adriano.mitre@gmail.com>
186
+ Copyright &#169; 2006-2011 Adriano Mitre <adriano.mitre@gmail.com>
187
187
  </p>
188
188
  <p>
189
189
  Permission is hereby granted, free of charge, to any person obtaining a
@@ -1,6 +1,5 @@
1
- Sun, 15 Apr 2012 03:34:04 -0300
2
- README.rdoc Sun, 15 Apr 2012 03:31:27 -0300
3
- lib/cartesian.rb Sun, 15 Apr 2012 03:31:27 -0300
4
- lib/cartesian_iterator.rb Sun, 15 Apr 2012 03:31:27 -0300
5
- lib/grid_search.rb Sun, 15 Apr 2012 03:31:27 -0300
6
- lib/iterable.rb Sun, 15 Apr 2012 03:31:27 -0300
1
+ Fri, 07 Jan 2011 13:53:06 -0200
2
+ README.rdoc Fri, 07 Jan 2011 02:46:43 -0200
3
+ lib/cartesian.rb Fri, 07 Jan 2011 13:53:03 -0200
4
+ lib/cartesian_iterator.rb Fri, 07 Jan 2011 02:46:43 -0200
5
+ lib/grid_search.rb Wed, 05 Jan 2011 06:07:10 -0200
@@ -73,8 +73,6 @@
73
73
 
74
74
  <li><a href="Cartesian.html#method-i-cartesian">#cartesian &mdash; Cartesian</a></li>
75
75
 
76
- <li><a href="Iterable.html#method-i-done%3F">#done? &mdash; Iterable</a></li>
77
-
78
76
  <li><a href="CartesianIterator.html#method-i-dup">#dup &mdash; CartesianIterator</a></li>
79
77
 
80
78
  <li><a href="CartesianIterator.html#method-i-each">#each &mdash; CartesianIterator</a></li>
@@ -24,15 +24,13 @@
24
24
  <div id="metadata">
25
25
  <dl>
26
26
  <dt class="modified-date">Last Modified</dt>
27
- <dd class="modified-date">2012-04-15 03:31:27 -0300</dd>
27
+ <dd class="modified-date">2011-01-07 02:46:43 -0200</dd>
28
28
 
29
29
 
30
30
  <dt class="requires">Requires</dt>
31
31
  <dd class="requires">
32
32
  <ul>
33
33
 
34
- <li>iterable</li>
35
-
36
34
  </ul>
37
35
  </dd>
38
36
 
@@ -24,7 +24,7 @@
24
24
  <div id="metadata">
25
25
  <dl>
26
26
  <dt class="modified-date">Last Modified</dt>
27
- <dd class="modified-date">2012-04-15 03:31:27 -0300</dd>
27
+ <dd class="modified-date">2011-01-07 13:53:03 -0200</dd>
28
28
 
29
29
 
30
30
  <dt class="requires">Requires</dt>
@@ -24,7 +24,7 @@
24
24
  <div id="metadata">
25
25
  <dl>
26
26
  <dt class="modified-date">Last Modified</dt>
27
- <dd class="modified-date">2012-04-15 03:31:27 -0300</dd>
27
+ <dd class="modified-date">2011-01-05 06:07:10 -0200</dd>
28
28
 
29
29
 
30
30
  <dt class="requires">Requires</dt>
@@ -1,5 +1,128 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <link rel="stylesheet" href="stylesheets/screen.css" type="text/css" media="screen" />
6
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
+ <title>
8
+
9
+ </title>
10
+ <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
+ <style>
1
12
 
13
+ </style>
14
+ <script type="text/javascript">
15
+ window.onload = function() {
16
+ settings = {
17
+ tl: { radius: 10 },
18
+ tr: { radius: 10 },
19
+ bl: { radius: 10 },
20
+ br: { radius: 10 },
21
+ antiAlias: true,
22
+ autoPad: true,
23
+ validTags: ["div"]
24
+ }
25
+ var versionBox = new curvyCorners(settings, document.getElementById("version"));
26
+ versionBox.applyCornersToAll();
27
+ }
28
+ </script>
29
+ </head>
30
+ <body>
31
+ <div id="main">
2
32
 
3
- Generating the website requires the newgem RubyGem
4
- Install: gem install newgem
33
+ <h1></h1>
34
+ <div id="version" class="clickable" onclick='document.location = "http://github.com/adrianomitre/cartesian"; return false'>
35
+ <p>Get Version</p>
36
+ <a href="http://github.com/adrianomitre/cartesian" class="numbers">0.6.4</a>
37
+ </div>
38
+ <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script><h1>cartesian</h1>
39
+ <h3>Cartesian products in Ruby</h3>
40
+ <h2>What</h2>
41
+ <p>Provides methods for the calculation of the cartesian producted between<br />
42
+ two or more enumerable objects. Includes grid search optimization methods.<br />
43
+ It can also be easily and conveniently mixed-in into any enumerable class.</p>
44
+ <h2>Installing</h2>
45
+ <p><pre class='syntax'><span class="ident">sudo</span> <span class="ident">gem</span> <span class="ident">install</span> <span class="ident">cartesian</span></pre></p>
46
+ <h2>The basics</h2>
47
+ <p><pre class='syntax'><span class="constant">Cartesian</span><span class="punct">::</span><span class="ident">product</span> <span class="punct">[</span><span class="number">1</span><span class="punct">,</span><span class="number">2</span><span class="punct">],[</span><span class="number">3</span><span class="punct">,</span><span class="number">4</span><span class="punct">]</span> <span class="comment">#=&gt; [[1, 3], [1, 4], [2, 3], [2, 4]]</span></pre></p>
48
+ <h2>Demonstration of usage</h2>
49
+ <p>One can use the Cartesian module directly<br />
50
+ <pre class='syntax'>
51
+ <span class="ident">require</span> <span class="punct">'</span><span class="string">cartesian</span><span class="punct">'</span>
52
+ <span class="ident">foo</span> <span class="punct">=</span> <span class="punct">[</span><span class="number">1</span><span class="punct">,</span> <span class="number">2</span><span class="punct">]</span>
53
+ <span class="ident">bar</span> <span class="punct">=</span> <span class="punct">[&quot;</span><span class="string">a</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">b</span><span class="punct">&quot;]</span>
54
+ <span class="constant">Cartesian</span><span class="punct">::</span><span class="ident">product</span><span class="punct">(</span><span class="ident">foo</span><span class="punct">,</span> <span class="ident">bar</span><span class="punct">)</span> <span class="comment">#=&gt; [[1, &quot;a&quot;], [1, &quot;b&quot;], [2, &quot;a&quot;], [2, &quot;b&quot;]]</span>
55
+ </pre></p>
56
+ <p>or use the methods provided by the mixin in the Array class</p>
57
+ <p><pre class='syntax'>
58
+ <span class="ident">foo</span><span class="punct">.</span><span class="ident">cartesian</span><span class="punct">(</span><span class="ident">bar</span><span class="punct">)</span> <span class="comment">#=&gt; [[1, &quot;a&quot;], [1, &quot;b&quot;], [2, &quot;a&quot;], [2, &quot;b&quot;]]</span>
59
+ </pre></p>
60
+ <p>which include the short&#8217;n&#8217;sweet <em>x</em> method</p>
61
+ <p><pre class='syntax'>
62
+ <span class="ident">v</span> <span class="punct">=</span> <span class="punct">[]</span> <span class="comment">#=&gt; []</span>
63
+ <span class="keyword">for</span> <span class="ident">a</span><span class="punct">,</span> <span class="ident">b</span> <span class="keyword">in</span> <span class="punct">[</span><span class="number">1</span><span class="punct">,</span><span class="number">2</span><span class="punct">].</span><span class="ident">x</span> <span class="punct">[</span><span class="number">3</span><span class="punct">,</span><span class="number">4</span><span class="punct">]</span>
64
+ <span class="ident">v</span> <span class="punct">&lt;&lt;</span> <span class="punct">[</span><span class="ident">a</span><span class="punct">,</span><span class="ident">b</span><span class="punct">]</span>
65
+ <span class="keyword">end</span> <span class="comment">#=&gt; true</span>
66
+ <span class="ident">v</span> <span class="comment">#=&gt; [[1, 3], [1, 4], [2, 3], [2, 4]]</span>
67
+ </pre></p>
68
+ <p>The &#8216;**&#8217; operator provides a convenient way of iterating multi-dimensionally over the same array or range</p>
69
+ <p><pre class='syntax'>
70
+ <span class="ident">u</span> <span class="punct">=</span> <span class="punct">[</span><span class="number">0</span><span class="punct">,</span> <span class="number">1</span><span class="punct">]**</span><span class="number">3</span> <span class="comment">#=&gt; #&lt;CartesianIterator:0x7f2fb8e54978 @tot_iter=8, \</span>
71
+ <span class="comment"># @lists=[[0, 1], [0, 1], [0, 1]]&gt;</span>
72
+ <span class="ident">u</span><span class="punct">.</span><span class="ident">to_a</span> <span class="comment">#=&gt; [[0, 0, 0], [0, 0, 1], [0, 1, 0], \</span>
73
+ <span class="comment"># [0, 1, 1], [1, 0, 0], [1, 0, 1], \</span>
74
+ <span class="comment"># [1, 1, 0], [1, 1, 1]]</span>
75
+ </pre></p>
76
+ <p>Finally, the grid search methods</p>
77
+ <p><pre class='syntax'>
78
+ <span class="ident">require</span> <span class="punct">'</span><span class="string">grid_search</span><span class="punct">'</span>
79
+ <span class="punct">[-</span><span class="number">1</span><span class="punct">,</span> <span class="number">0</span><span class="punct">,</span> <span class="number">1</span><span class="punct">,</span> <span class="number">2</span><span class="punct">].</span><span class="ident">argmax</span> <span class="punct">{|</span><span class="ident">x</span><span class="punct">|</span> <span class="ident">x</span><span class="punct">**</span><span class="number">2</span> <span class="punct">}</span> <span class="comment">#=&gt; 2</span>
80
+ <span class="punct">[-</span><span class="number">1</span><span class="punct">,</span> <span class="number">0</span><span class="punct">,</span> <span class="number">1</span><span class="punct">,</span> <span class="number">2</span><span class="punct">].</span><span class="ident">argmin</span> <span class="punct">{|</span><span class="ident">x</span><span class="punct">|</span> <span class="ident">x</span><span class="punct">.</span><span class="ident">abs</span> <span class="punct">}</span> <span class="comment">#=&gt; 0</span></pre><br />
81
+ </pre></p>
82
+ <p>For more examples and details, see the RDoc-generated documentation <a href="doc/index.html">here</a>.</p>
83
+ <h2>How to submit patches</h2>
84
+ <p>Read the <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/">8 steps for fixing other people&#8217;s code</a> and for section <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8b-google-groups">8b: Submit patch to Google Groups</a>, use the Google Group above.</p>
85
+ <p>You can fetch the source from:</p>
86
+ <ul>
87
+ <li>github: <a href="http://github.com/adrianomitre/cartesian/tree/master">http://github.com/adrianomitre/cartesian/tree/master</a></li>
88
+ </ul>
89
+ <pre>git clone git@github.com:adrianomitre/cartesian.git</pre>
90
+ <h3>Build and test instructions</h3>
91
+ <pre>cd cartesian
92
+ rake test
93
+ rake install_gem</pre>
94
+ <h2>License</h2>
95
+ <p>This code is free to use under the terms of the <span class="caps">MIT</span> license.</p>
96
+ <h2>Contact</h2>
97
+ <p>Comments are welcome. Send an email to <a href="mailto:adriano.mitre@gmail.com">Adriano Mitre</a>.</p>
98
+ <div align=right>
99
+ <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
100
+ <input type="hidden" name="cmd" value="_s-xclick">
101
+ <input type="hidden" name="hosted_button_id" value="9ABWULT73Y7AC">
102
+ <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
103
+ <p><img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"></p>
104
+ </form>
105
+ </div>
106
+ <p class="coda">
107
+ <a href="http://github.com/adrianomitre">Adriano Mitre</a>, 7th January 2011<br>
108
+ Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
109
+ </p>
110
+ </div>
5
111
 
112
+ <!-- insert site tracking codes here, like Google Urchin -->
113
+ <script type="text/javascript">
114
+
115
+ var _gaq = _gaq || [];
116
+ _gaq.push(['_setAccount', 'UA-20605454-1']);
117
+ _gaq.push(['_trackPageview']);
118
+
119
+ (function() {
120
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
121
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
122
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
123
+ })();
124
+
125
+ </script>
126
+
127
+ </body>
128
+ </html>
metadata CHANGED
@@ -1,82 +1,68 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: cartesian
3
- version: !ruby/object:Gem::Version
4
- version: 0.6.6
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.6.7
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Adriano Mitre
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-15 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2013-01-06 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: rdoc
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '3.10'
22
- type: :development
23
17
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
18
+ requirement: &id001 !ruby/object:Gem::Requirement
25
19
  none: false
26
- requirements:
20
+ requirements:
27
21
  - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '3.10'
30
- - !ruby/object:Gem::Dependency
31
- name: newgem
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: 1.5.3
22
+ - !ruby/object:Gem::Version
23
+ version: "3.10"
38
24
  type: :development
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: newgem
39
28
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
29
+ requirement: &id002 !ruby/object:Gem::Requirement
41
30
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
45
34
  version: 1.5.3
46
- - !ruby/object:Gem::Dependency
47
- name: hoe
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ~>
52
- - !ruby/object:Gem::Version
53
- version: '3.0'
54
35
  type: :development
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: hoe
55
39
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
40
+ requirement: &id003 !ruby/object:Gem::Requirement
57
41
  none: false
58
- requirements:
42
+ requirements:
59
43
  - - ~>
60
- - !ruby/object:Gem::Version
61
- version: '3.0'
62
- description: ! 'Provides methods for the calculation of the cartesian producted between
63
- two
64
-
44
+ - !ruby/object:Gem::Version
45
+ version: "3.4"
46
+ type: :development
47
+ version_requirements: *id003
48
+ description: |-
49
+ Provides methods for the calculation of the cartesian producted between two
65
50
  or more enumerable objects. Includes grid search optimization methods.
66
-
67
- It can also be easily and conveniently mixed in into any enumerable class.'
68
- email:
51
+ It can also be easily and conveniently mixed in into any enumerable class.
52
+ email:
69
53
  - adriano.mitre@gmail.com
70
54
  executables: []
55
+
71
56
  extensions: []
72
- extra_rdoc_files:
57
+
58
+ extra_rdoc_files:
73
59
  - History.txt
74
60
  - Manifest.txt
75
61
  - PostInstall.txt
76
62
  - README.rdoc
77
63
  - Wishlist.txt
78
64
  - website/index.txt
79
- files:
65
+ files:
80
66
  - History.txt
81
67
  - Manifest.txt
82
68
  - PostInstall.txt
@@ -127,36 +113,37 @@ files:
127
113
  - .gemtest
128
114
  homepage: http://adrianomitre.github.com/cartesian/website/index.html
129
115
  licenses: []
116
+
130
117
  post_install_message: PostInstall.txt
131
- rdoc_options:
118
+ rdoc_options:
132
119
  - --main
133
120
  - README.rdoc
134
- require_paths:
121
+ require_paths:
135
122
  - lib
136
- required_ruby_version: !ruby/object:Gem::Requirement
123
+ required_ruby_version: !ruby/object:Gem::Requirement
137
124
  none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '0'
142
- required_rubygems_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: "0"
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
143
130
  none: false
144
- requirements:
145
- - - ! '>='
146
- - !ruby/object:Gem::Version
147
- version: '0'
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: "0"
148
135
  requirements: []
136
+
149
137
  rubyforge_project: cartesian
150
- rubygems_version: 1.8.21
138
+ rubygems_version: 1.8.24
151
139
  signing_key:
152
140
  specification_version: 3
153
- summary: Provides methods for the calculation of the cartesian producted between two
154
- or more enumerable objects
155
- test_files:
156
- - test/test_suite.rb
141
+ summary: Provides methods for the calculation of the cartesian producted between two or more enumerable objects
142
+ test_files:
157
143
  - test/test_iterable.rb
144
+ - test/test_suite.rb
158
145
  - test/test_grid_search.rb
159
- - test/test_cartesian.rb
160
- - test/test_extensions.rb
161
146
  - test/test_helper.rb
147
+ - test/test_extensions.rb
148
+ - test/test_cartesian.rb
162
149
  - test/test_cartesian_iterator.rb