webget_ruby_ramp 1.8.0 → 1.8.2

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.
@@ -13,14 +13,16 @@ module Enumerable
13
13
 
14
14
  # Convert an enumerable to a hash.
15
15
  #
16
- # ==Example
16
+ # @return [Hash<Object,Object>] a hash of the enumerable's items
17
+ #
18
+ # @example
17
19
  # array=[[:a, :b],[:c, :d],[:e, :f]]
18
20
  # array.to_h => {:a=>:b, :c=>:d, :e=>:f}
19
21
  #
20
22
  # If a key occurs more than once, then this will automatically
21
23
  # convert the value to an array of the keys' values.
22
24
  #
23
- # ==Example
25
+ # @example
24
26
  # array=[[:a,:b],[:a,:c],[:a,:d]]
25
27
  # array.to_h => {:a=>[:b, :c, :d]}
26
28
 
@@ -44,9 +46,11 @@ module Enumerable
44
46
  end
45
47
 
46
48
 
47
- # Convert the enumerable to a hash by mapping each item to a key,item pair.
49
+ # Convert the enumerable to a hash by mapping each item to a pair [index ,item]
50
+ #
51
+ # @return [Hash<Integer,Object>] a hash of the enumerable's items
48
52
  #
49
- # ==Example
53
+ # @example
50
54
  # strings = ["red","blue","green"]
51
55
  # strings.index_by{|a| a.size]}
52
56
  # => {3 => "red", 4 => "blue", 5 => "green"}
@@ -55,21 +59,23 @@ module Enumerable
55
59
  #
56
60
  # From http://stackoverflow.com/questions/412771/cleanest-way-to-create-a-hash-from-an-array
57
61
  #
58
- # Compare #hash_by
62
+ # @see #hash_by
59
63
 
60
64
  def index_by
61
65
  inject({}) {|hash, elem| hash.merge!(yield(elem) => elem) }
62
66
  end
63
67
 
64
68
 
65
- # Convert the enumerable to a hash by mapping each item to a key,value pair.
69
+ # Convert the enumerable to a hash by mapping each item to a pair [item, new item]
66
70
  #
67
- # ==Example
71
+ # @return [Hash<Object,Object>] a hash of the enumerable's items
72
+ #
73
+ # @example
68
74
  # strings = ["red","blue","green"]
69
75
  # strings.hash_by{|a| [a.size, a.upcase]}
70
76
  # => {3 => "RED", 4 => "BLUE", 5 => "GREEN"}
71
77
  #
72
- # Compare #index_by
78
+ # @see #index_by
73
79
 
74
80
  def hash_by
75
81
  map{|item| yield(item)}.to_h
@@ -86,7 +92,9 @@ module Enumerable
86
92
 
87
93
  # Map each item => item.id
88
94
  #
89
- # ==Example
95
+ # @return [Enumerable<Object>] an list of each item.id
96
+ #
97
+ # @example
90
98
  # users = User.find(:all)
91
99
  # users.map_id => [1,2,3,4,...]
92
100
  #
@@ -101,7 +109,9 @@ module Enumerable
101
109
 
102
110
  # Map each item => item.to_a
103
111
  #
104
- # ==Example
112
+ # @return [Enumberable<Array<Object>>] a list of each item.to_a
113
+ #
114
+ # @example
105
115
  # set1 = Set.new([:a,:b,:c])
106
116
  # set2 = Set.new([:d,:e,:f])
107
117
  # set3 = Set.new([:g,:h,:i])
@@ -120,7 +130,9 @@ module Enumerable
120
130
 
121
131
  # Map each item => item.to_f
122
132
  #
123
- # ==Example
133
+ # @return [Enumerable<Float>] a list of each item.to_f
134
+ #
135
+ # @example
124
136
  # strings = ["1","2","3"]
125
137
  # strings.map_to_f => [1.0, 2.0, 3.0]
126
138
  #
@@ -135,7 +147,9 @@ module Enumerable
135
147
 
136
148
  # Map each item => item.to_i
137
149
  #
138
- # ==Example
150
+ # @return [Enumerable<Integer>] a list of each item.to_i
151
+ #
152
+ # @example
139
153
  # strings = ["1","2","3"]
140
154
  # strings.map_to_i => [1, 2, 3]
141
155
  #
@@ -150,7 +164,9 @@ module Enumerable
150
164
 
151
165
  # Map each item => item.to_s
152
166
  #
153
- # ==Example
167
+ # @return [Enumerable<String>] a list of each item.to_s
168
+ #
169
+ # @example
154
170
  # numbers = [1, 2, 3]
155
171
  # numbers.map_to_s => ["1", "2", "3"]
156
172
  #
@@ -165,7 +181,9 @@ module Enumerable
165
181
 
166
182
  # Map each item => item.to_sym
167
183
  #
168
- # ==Example
184
+ # @return [Enumerable<Symbol>] a list of each item.to_sym
185
+ #
186
+ # @example
169
187
  # strings = ["foo", "goo", "hoo"]
170
188
  # strings.map_to_sym => [:foo, :goo, :hoo]
171
189
  #
@@ -180,10 +198,11 @@ module Enumerable
180
198
 
181
199
  # Map each item and its index => a new output
182
200
  #
183
- # cf. Enumerable#map, Enumerable#each_with_index
184
- #
185
- # ==Example
201
+ # @return [Enumerable<Object>] an list of each item transformed by the block
202
+ # @see Enumerable#map
203
+ # @see Enumerable#each_with_index
186
204
  #
205
+ # @example
187
206
  # strings = ["a", "b", "c"]
188
207
  # strings.map_with_index{|string,index| "#{string}#{index}"}
189
208
  # => ["a0, "b1", "c3"]
@@ -201,8 +220,11 @@ module Enumerable
201
220
  ########################################################################
202
221
 
203
222
 
204
- # enum.select_while {|obj| block } => array
205
- # Returns an array containing the leading elements for which block is not false or nil.
223
+ # @example
224
+ # enum.select_while {|obj| block }
225
+ # => array
226
+ #
227
+ # @return [Array<Object>] the leading elements for which block is not false or nil.
206
228
 
207
229
  def select_while
208
230
  arr = []
@@ -211,8 +233,11 @@ module Enumerable
211
233
  end
212
234
 
213
235
 
214
- # enum.select_until {|obj| block } => array
215
- # Returns an array containing the leading elements for which block is false or nil.
236
+ # @example
237
+ # enum.select_until {|obj| block }
238
+ # => array
239
+ #
240
+ # @return [Array<Object>] the leading elements for which block is false or nil.
216
241
 
217
242
  def select_until
218
243
  arr = []
@@ -221,9 +246,13 @@ module Enumerable
221
246
  end
222
247
 
223
248
 
224
- # enum.select_with_index {|obj,i| block } => array
225
249
  # Calls block with two arguments, the item and its index, for each item in enum.
226
- # Returns an array containing the leading elements for which block is not false or nil.
250
+ #
251
+ # @example
252
+ # enum.select_with_index {|obj,i| block }
253
+ # => array
254
+ #
255
+ # @return [Array<Object> the leading elements for which block is not false or nil.
227
256
 
228
257
  def select_with_index
229
258
  index = 0
@@ -246,9 +275,13 @@ module Enumerable
246
275
  #
247
276
  ########################################################################
248
277
 
249
- # enum.bisect {|obj| block} => array of positives, array of negatives
250
- # Returns two arrays: the first contains the elements for which block is
251
- # true, the second contains the elements for which block is false or nil.
278
+ # @example
279
+ # enum.bisect {|obj| block}
280
+ # => array of positives, array of negatives
281
+ #
282
+ # @return [Array<Array<Object>] an array of two arrays:
283
+ # the first array is the elements for which block is true,
284
+ # the second array is the elements for which block is false or nil.
252
285
 
253
286
  def bisect
254
287
  accept=[]
@@ -271,8 +304,11 @@ module Enumerable
271
304
  ########################################################################
272
305
 
273
306
 
274
- # enum.nitems_while {| obj | block } => number of items
275
- # Returns the number of leading elements for which block is not false or nil.
307
+ # @example
308
+ # enum.nitems_while {| obj | block }
309
+ # => number of items
310
+ #
311
+ # @return [Integer] the number of leading elements for which block is not false or nil.
276
312
 
277
313
  def nitems_while
278
314
  num = 0
@@ -281,8 +317,11 @@ module Enumerable
281
317
  end
282
318
 
283
319
 
284
- # enum.nitems_until {| obj | block } => number of items
285
- # Returns the number of leading elements for which block is false.
320
+ # @example
321
+ # enum.nitems_until {| obj | block }
322
+ # => number of items
323
+ #
324
+ # @return [Integer] the number of leading elements for which block is false.
286
325
 
287
326
  def nitems_until
288
327
  num = 0
@@ -297,9 +336,13 @@ module Enumerable
297
336
  end
298
337
 
299
338
 
300
- # enum.nitems_with_index {|obj,i| block } => number of items
301
339
  # Calls block with two arguments, the item and its index, for each item in enum.
302
- # Returns the number of leading elements for which block is true.
340
+ #
341
+ # @example
342
+ # enum.nitems_with_index {|obj,i| block }
343
+ # => number of items
344
+ #
345
+ # @return [Integer] the number of leading elements for which block is true.
303
346
 
304
347
  def nitems_with_index
305
348
  index = 0
@@ -309,6 +352,14 @@ module Enumerable
309
352
 
310
353
 
311
354
  # Shortcut to Array#join to concatenate the items into a string
355
+ #
356
+ # @example
357
+ # ["foo", "goo", "hoo"].join
358
+ # => "foogoohoo"
359
+ #
360
+ # @return [String] concatenated string
361
+ #
362
+ # @see Array#join
312
363
 
313
364
  def join(*op)
314
365
  to_a.join(*op)
@@ -322,14 +373,14 @@ module Enumerable
322
373
  ########################################################################
323
374
 
324
375
 
325
- # Returns true if this _enum_ intersects another _enum_.
376
+ # @return [Boolean] true if this _enum_ intersects another _enum_.
326
377
  #
327
- # @nb This implementation uses #to_a and array intersection.
378
+ # This implementation uses #to_a and array intersection.
328
379
  # A developer may want to optimize this implementation for
329
380
  # other classes, such as detecting whether a range intersects
330
381
  # another range simply by comparing the ranges' min/max values.
331
382
  #
332
- # ==Examples
383
+ # @example
333
384
  # ['a','b','c'].intersect?(['c','d','e'] => true
334
385
  # ['a','b','c'].intersect?(['d','e','f'] => false
335
386
 
@@ -338,19 +389,20 @@ module Enumerable
338
389
  end
339
390
 
340
391
 
341
- # Return the cartesian product of the enumerations.
342
- # http://en.wikipedia.org/wiki/Cartesian_product
392
+ # @return [Array] the cartesian product of the enumerations.
393
+ #
394
+ # @see http://en.wikipedia.org/wiki/Cartesian_product
343
395
  #
344
396
  # This is the fastest implementation we have found.
345
397
  # It returns results in typical order.
346
398
  #
347
- # By Thomas Hafner
348
- # See http://www.ruby-forum.com/topic/95519
399
+ # @author Thomas Hafner
400
+ # @see http://www.ruby-forum.com/topic/95519
349
401
  #
350
- # For our benchmarks, we also compared thesk:
402
+ # For our benchmarks, we also compared these:
351
403
  # - By William James, http://www.ruby-forum.com/topic/95519
352
404
  # - By Brian Schröäer, http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/151857
353
-
405
+
354
406
  def self.cartesian_product(*enums)
355
407
  result = [[]]
356
408
  while [] != enums
@@ -365,18 +417,21 @@ module Enumerable
365
417
  result
366
418
  end
367
419
 
420
+
368
421
  def cartesian_product(*enums)
369
422
  Enumerable.cartesian_product(self,*enums)
370
423
  end
371
424
 
372
425
 
373
- # Return the power set: an array with all subsets of the enum's elements.
374
- # http://en.wikipedia.org/wiki/Power_set
426
+ # Calculate the power set.
427
+ #
428
+ # @return [Array<Array<Object>>] the power set: an array with all subsets of the enum's elements.
429
+ # @see http://en.wikipedia.org/wiki/Power_set
375
430
  #
376
- # This implementation is from
377
- # http://johncarrino.net/blog/2006/08/11/powerset-in-ruby/
431
+ # This implementation is from the blog post below:
432
+ # @see http://johncarrino.net/blog/2006/08/11/powerset-in-ruby/
378
433
  #
379
- # ==Example
434
+ # @example
380
435
  # [1,2,3].power_set.sort
381
436
  # => [[], [1], [1, 2], [1, 2, 3], [1, 3], [2], [2, 3], [3]]
382
437
 
@@ -4,9 +4,9 @@
4
4
 
5
5
  class File
6
6
 
7
- # Return File.join(File.dirname(dirname),strings)
7
+ # @return [String] File.join(File.dirname(dirname),strings)
8
8
  #
9
- # ==Example
9
+ # @example
10
10
  # File.joindir(__FILE__,'foo.txt')
11
11
  # => '/home/john/foo.txt'
12
12
 
@@ -5,9 +5,9 @@
5
5
  class Fixnum
6
6
 
7
7
 
8
- # Return true if the number is even
8
+ # @return true if the number is even
9
9
  #
10
- # ==Example
10
+ # @example
11
11
  # 2.even? => true
12
12
  # 3.even? => false
13
13
  #
@@ -18,15 +18,12 @@ class Fixnum
18
18
  end
19
19
 
20
20
 
21
- # Return true if the number is odd
21
+ # @return true if the number is odd
22
22
  #
23
- # ==Example
23
+ # @example
24
24
  # 2.odd? => false
25
25
  # 3.odd? => true
26
26
  #
27
- # n.b. we test to see if this method already exists,
28
- # because this method is defined in Ruby 1.8.7 onward.
29
- #
30
27
  # From http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/4516
31
28
 
32
29
  def odd?
@@ -7,7 +7,8 @@ require 'yaml'
7
7
  class Hash
8
8
 
9
9
 
10
- # Return true if size > 0
10
+ # @return [Boolean] true if size > 0
11
+
11
12
  def size?
12
13
  size>0
13
14
  end
@@ -17,13 +18,13 @@ class Hash
17
18
  #
18
19
  # The keys are sorted.
19
20
  #
20
- # ==Example
21
+ # @example
21
22
  # h = { "xyz" => "123", "abc" => "789" }
22
23
  # h.each_sort {|key, val| ... }
23
24
  # => calls the block with "abc" => "789", then with "xyz" => "123"
24
25
 
25
26
  def each_sort
26
- keys.sort.each{|key| yield key,self[key] }
27
+ keys.sort.each{|key| yield key,self[key] }
27
28
  end
28
29
 
29
30
 
@@ -31,12 +32,12 @@ class Hash
31
32
  # passing the key as a parameter,
32
33
  # and updating it in place.
33
34
  #
34
- # ==Example
35
+ # @example
35
36
  # h = { "a" => "b", "c" => "d" }
36
37
  # h.each_key! {|key| key.upcase }
37
38
  # h => { "A" => "b", "C" => "d" }
38
39
  #
39
- # Return self.
40
+ # @return self
40
41
 
41
42
  def each_key!
42
43
  each_pair{|key,value|
@@ -48,19 +49,21 @@ class Hash
48
49
  self[key2]=value
49
50
  end
50
51
  }
52
+ return self
51
53
  end
52
54
 
53
55
 
56
+
54
57
  # Calls block once for each key in hsh,
55
58
  # passing the key and value as parameters,
56
59
  # and updated them in place.
57
60
  #
58
- # ==Example
61
+ # @example
59
62
  # h = { "a" => "b", "c" => "d" }
60
63
  # h.each_pair! {|key,value| key.upcase, value.upcase }
61
64
  # h => { "A" => "B", "C" => "D" }
62
65
  #
63
- # Return self.
66
+ # @return self.
64
67
 
65
68
  def each_pair!
66
69
  each_pair{|key,value|
@@ -84,12 +87,12 @@ class Hash
84
87
  # passing the value as a parameter,
85
88
  # and updating it in place.
86
89
  #
87
- # ==Example
90
+ # @example
88
91
  # h = { "a" => "b", "c" => "d" }
89
92
  # h.each_value! {|value| value.upcase }
90
93
  # h => { "a" => "B", "c" => "d" }
91
94
  #
92
- # Return self.
95
+ # @return self.
93
96
 
94
97
  def each_value!
95
98
  each_pair{|key,value|
@@ -107,7 +110,7 @@ class Hash
107
110
  # Calls block once for each key-value pair in hsh,
108
111
  # passing the key and value as paramters to the block.
109
112
  #
110
- # ==Example
113
+ # @example
111
114
  # h = {"a"=>"b", "c"=>"d", "e"=>"f" }
112
115
  # h.map_pair{|key,value| key+value }
113
116
  # => ["ab","cd","ef"]
@@ -121,7 +124,7 @@ class Hash
121
124
  #
122
125
  # From http://snippets.dzone.com/tag/yaml
123
126
  #
124
- # ==Example
127
+ # @example
125
128
  # h = {"a"=>"b", "c"=>"d", "e"=>"f" }
126
129
  # h.to_yaml_sort
127
130
  # => "--- \na: b\nc: d\ne: f\n"
@@ -179,13 +182,13 @@ class Hash
179
182
  #
180
183
  # The pivot method is especially useful for calculating subtotals.
181
184
  #
182
- # ==Example
185
+ # @example
183
186
  # r = h.pivot(:keys)
184
187
  # r['a'].sum => 6
185
188
  # r['b'].sum => 15
186
189
  # r['c'].sum => 24
187
190
  #
188
- # ==Example
191
+ # @example
189
192
  # r=h.pivot(:vals)
190
193
  # r['x'].sum => 12
191
194
  # r['y'].sum => 15
@@ -195,12 +198,12 @@ class Hash
195
198
  #
196
199
  # You can provide a block that will be called for the pivot items.
197
200
  #
198
- # ==Examples
201
+ # @example
199
202
  # h.pivot(:keys){|items| items.max } => {"a"=>3,"b"=>6,"c"=>9}
200
203
  # h.pivot(:keys){|items| items.join("/") } => {"a"=>"1/2/3","b"=>"4/5/6","c"=>"7/8/9"}
201
204
  # h.pivot(:keys){|items| items.inject{|sum,x| sum+=x } } => {"a"=>6,"b"=>15,"c"=>24}
202
205
  #
203
- # ==Examples
206
+ # @example
204
207
  # h.pivot(:vals){|items| items.max } => {"a"=>7,"b"=>8,"c"=>9}
205
208
  # h.pivot(:vals){|items| items.join("-") } => {"a"=>"1-4-7","b"=>"2-5-8","c"=>"3-6-9"}
206
209
  # h.pivot(:vals){|items| items.inject{|sum,x| sum+=x } } => {"a"=>12,"b"=>15,"c"=>18}