facets 2.8.1 → 2.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.
Files changed (55) hide show
  1. data/HISTORY.rdoc +121 -91
  2. data/NOTES +13 -1
  3. data/demo/scenario_require.rdoc +0 -5
  4. data/lib/core/facets.rb +6 -382
  5. data/lib/core/facets/array.rb +4 -3
  6. data/lib/core/facets/array/product.rb +0 -9
  7. data/lib/core/facets/array/uniq_by.rb +18 -0
  8. data/lib/core/facets/binding/caller.rb +14 -18
  9. data/lib/core/facets/boolean.rb +75 -78
  10. data/lib/core/facets/denumerable.rb +3 -3
  11. data/lib/core/facets/dir/ascend.rb +2 -1
  12. data/lib/core/facets/enumerable/collapse.rb +12 -0
  13. data/lib/core/facets/enumerable/compact_map.rb +8 -4
  14. data/lib/core/facets/enumerable/defer.rb +3 -2
  15. data/lib/core/facets/enumerable/each_with_object.rb +38 -0
  16. data/lib/core/facets/enumerable/every.rb +4 -4
  17. data/lib/core/facets/enumerable/ewise.rb +22 -16
  18. data/lib/core/facets/enumerable/exclude.rb +13 -0
  19. data/lib/core/facets/enumerable/filter.rb +18 -8
  20. data/lib/core/facets/enumerable/find_yield.rb +37 -0
  21. data/lib/core/facets/enumerable/map_detect.rb +1 -28
  22. data/lib/core/facets/enumerable/map_with_index.rb +2 -2
  23. data/lib/core/facets/enumerable/per.rb +2 -2
  24. data/lib/core/facets/enumerable/purge.rb +43 -0
  25. data/lib/core/facets/enumerator.rb +70 -0
  26. data/lib/core/facets/enumerator/fx.rb +20 -0
  27. data/lib/core/facets/integer/multiple.rb +6 -2
  28. data/lib/core/facets/kernel/false.rb +2 -0
  29. data/lib/core/facets/kernel/true.rb +26 -0
  30. data/lib/core/facets/numeric/length.rb +2 -2
  31. data/lib/core/facets/numeric/spacing.rb +20 -0
  32. data/lib/core/facets/proc/bind_to.rb +9 -0
  33. data/lib/core/facets/string/exclude.rb +10 -0
  34. data/lib/core/facets/string/expand_tab.rb +6 -6
  35. data/lib/core/facets/time/future.rb +14 -0
  36. data/lib/core/facets/time/past.rb +1 -0
  37. data/lib/core/facets/unboundmethod/name.rb +22 -18
  38. data/lib/more/facets/date.rb +38 -3
  39. data/lib/more/facets/fileutils/cp_rx.rb +42 -0
  40. data/lib/more/facets/pathname.rb +1 -1
  41. data/meta/homepage +1 -1
  42. data/meta/released +1 -1
  43. data/meta/version +1 -1
  44. data/test/core/array/test_product.rb +0 -5
  45. data/test/core/enumerable/test_find_yield.rb +75 -0
  46. data/test/core/numeric/test_spacing.rb +12 -0
  47. data/test/core/unboundmethod/test_name.rb +3 -3
  48. metadata +36 -23
  49. data/MANIFEST +0 -756
  50. data/lib/core/facets/enumerable/collect.rb +0 -4
  51. data/lib/core/facets/enumerable/inject.rb +0 -30
  52. data/lib/core/facets/numeric/size.rb +0 -10
  53. data/lib/more/facets/enumerator.rb +0 -62
  54. data/lib/more/facets/tracepoint.rb +0 -209
  55. data/test/core/enumerable/test_map_detect.rb +0 -75
@@ -0,0 +1,10 @@
1
+ class String
2
+
3
+ # The inverse of include?.
4
+ #
5
+ def exclude?(str)
6
+ !include?(str)
7
+ end
8
+
9
+ end
10
+
@@ -8,12 +8,12 @@ class String
8
8
  #
9
9
  # Thanks to GGaramuno for a more efficient algorithm. Very nice.
10
10
  #
11
- # TODO: Don't much care for the name String#expand_tab.
12
- # What about a more concise name like #detab?
13
- #
14
11
  # CREDIT: Gavin Sinclair, Noah Gibbs, GGaramuno
12
+ #
13
+ # TODO: Don't much care for the name String#expand_tabs.
14
+ # What about a more concise name like #detab?
15
15
 
16
- def expand_tab(n=8)
16
+ def expand_tabs(n=8)
17
17
  n = n.to_int
18
18
  raise ArgumentError, "n must be >= 0" if n < 0
19
19
  return gsub(/\t/, "") if n == 0
@@ -28,8 +28,8 @@ class String
28
28
  str
29
29
  end
30
30
 
31
- # Pluralized form of #expand_tab.
32
- alias_method :expand_tabs, :expand_tab
31
+ # Singular form of #expand_tabs.
32
+ alias_method :expand_tab, :expand_tabs
33
33
 
34
34
  end
35
35
 
@@ -0,0 +1,14 @@
1
+ class Time
2
+
3
+ #
4
+ def past?
5
+ self < ::Time.current
6
+ end
7
+
8
+ #
9
+ def future?
10
+ self < ::Time.current
11
+ end
12
+
13
+ end
14
+
@@ -0,0 +1 @@
1
+ require 'facets/time/future'
@@ -1,24 +1,28 @@
1
1
  class UnboundMethod
2
2
 
3
- # Return the name of the method.
4
- #
5
- # Be aware that in ruby 1.9 UnboundMethod#name is defined already,
6
- # but it returns a Symbol not a String.
7
- #
8
- # class X
9
- # def foo; end
10
- # end
11
- #
12
- # meth = X.instance_method(:foo)
13
- #
14
- # meth.name #=> "foo"
15
- #
16
- # CREDIT: Trans
3
+ unless method_defined?(:name) # 1.8.7+
17
4
 
18
- def name
19
- i = to_s.rindex('#')
20
- to_s.slice(i+1...-1)
21
- end unless method_defined?(:name) # 1.8.7+
5
+ # Return the name of the method.
6
+ #
7
+ # Be aware that in ruby 1.9 UnboundMethod#name is defined already,
8
+ # but it returns a Symbol not a String.
9
+ #
10
+ # class X
11
+ # def foo; end
12
+ # end
13
+ #
14
+ # meth = X.instance_method(:foo)
15
+ #
16
+ # meth.name #=> :foo
17
+ #
18
+ # CREDIT: Trans
19
+
20
+ def name
21
+ i = to_s.rindex('#')
22
+ to_s.slice(i+1...-1).to_sym
23
+ end
24
+
25
+ end
22
26
 
23
27
  end
24
28
 
@@ -76,6 +76,7 @@ class Date
76
76
  #::Time.send("#{form}_time", year, month, day)
77
77
  end
78
78
 
79
+ #
79
80
  def xmlschema
80
81
  to_time.xmlschema
81
82
  end
@@ -198,17 +199,25 @@ class DateTime
198
199
  ::Time.local(2007).utc_offset.to_r / 86400
199
200
  end
200
201
 
202
+ def future?
203
+ self > ::DateTime.current
204
+ end
205
+
206
+ def past?
207
+ self < ::DateTime.current
208
+ end
209
+
201
210
  # Converts self to a Ruby Date object; time portion is discarded
202
211
  def to_date
203
212
  ::Date.new(year, month, day)
204
213
  end
205
214
 
206
215
  # Attempts to convert self to a Ruby Time object; returns self if
207
- # out of range of Ruby Time class, If self has an offset other than 0,
216
+ # out of range of Ruby Time class. If self has an offset other than 0,
208
217
  # self will just be returned unaltered, since there's no clean way
209
- # to map it to a Time
218
+ # to map it to a Time.
210
219
  def to_time
211
- self.offset == 0 ? ::Time.utc(year, month, day, hour, min, sec) : self
220
+ self.offset == 0 ? ::Time.utc_time(year, month, day, hour, min, sec) : self
212
221
  end
213
222
 
214
223
  # To be able to keep Times, Dates and DateTimes interchangeable on conversions
@@ -309,6 +318,7 @@ class DateTime
309
318
  #
310
319
  # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)) # => Mon, 21 Feb 2005 10:11:12 -0600
311
320
  # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)).utc # => Mon, 21 Feb 2005 16:11:12 +0000
321
+ #
312
322
  def utc
313
323
  new_offset(0)
314
324
  end
@@ -340,6 +350,24 @@ end
340
350
 
341
351
  class Time
342
352
 
353
+ #
354
+ def self.local_time(*args)
355
+ time_with_datetime_fallback(:local, *args)
356
+ end
357
+
358
+ #
359
+ def self.utc_time(*args)
360
+ time_with_datetime_fallback(:utc, *args)
361
+ end
362
+
363
+ #
364
+ def self.time_with_datetime_fallback(utc_or_local, year, month=1, day=1, hour=0, min=0, sec=0, usec=0)
365
+ ::Time.send(utc_or_local, year, month, day, hour, min, sec, usec)
366
+ rescue
367
+ offset = utc_or_local.to_sym == :local ? ::DateTime.local_offset : 0
368
+ ::DateTime.civil(year, month, day, hour, min, sec, offset)
369
+ end
370
+
343
371
  public :to_date
344
372
  public :to_datetime
345
373
 
@@ -350,6 +378,7 @@ class Time
350
378
  #
351
379
  # your_time = Time.parse("1/13/2009 1:13:03 P.M.") # => Tue Jan 13 13:13:03 -0500 2009
352
380
  # your_time.to_date # => Tue, 13 Jan 2009
381
+ #
353
382
  def to_date
354
383
  ::Date.new(year, month, day)
355
384
  end
@@ -371,6 +400,7 @@ class Time
371
400
  #
372
401
  # your_time = Time.parse("1/13/2009 1:13:03 P.M.") # => Tue Jan 13 13:13:03 -0500 2009
373
402
  # your_time.to_datetime # => Tue, 13 Jan 2009 13:13:03 -0500
403
+ #
374
404
  def to_datetime
375
405
  ::DateTime.civil(year, month, day, hour, min, sec, Rational(utc_offset, 86400))
376
406
  end
@@ -380,6 +410,11 @@ end
380
410
 
381
411
  class String
382
412
 
413
+ #
414
+ def to_time(form = :utc)
415
+ ::Time.__send__("#{form}_time", *::Date._parse(self, false).values_at(:year, :mon, :mday, :hour, :min, :sec).map{|arg| arg || 0 })
416
+ end
417
+
383
418
  # Convert string to DateTime.
384
419
  def to_datetime
385
420
  date = ::Date._parse(self, false).values_at(:year, :mon, :mday, :hour, :min, :sec).map { |arg| arg || 0 }
@@ -0,0 +1,42 @@
1
+ module FileUtils
2
+
3
+ # Both of these are modified from the implementations in fileutils.rb from Ruby 1.9.1p378.
4
+
5
+ # Like FileUtils.cp_r, but takes a filter proc that can return false to skip a file.
6
+ #
7
+ # cp_rx "bigDirectoryTree", "dest", {:noop => true} do |name|
8
+ # /dontCopyThis$/.match(name)
9
+ # end
10
+ #
11
+ # Note that if the filter rejects a subdirectory then everything within that
12
+ # subdirectory is automatically skipped as well.
13
+
14
+ def cp_rx(src, dest, options = {}, &filter)
15
+ fu_check_options(options, OPT_TABLE['cp_r'])
16
+ if options[:verbose]
17
+ fu_output_message("cp -r#{options[:preserve] ? 'p' : ''}#{options[:remove_destination] ? ' --remove-destination' : ''} #{[src,dest].flatten.join ' '}")
18
+ end
19
+ return if options[:noop]
20
+ fu_each_src_dest(src, dest) do |s, d|
21
+ copy_entryx(s, d, filter, options[:preserve], options[:dereference_root], options[:remove_destination])
22
+ end
23
+ end
24
+
25
+ # Like FileUtils.copy_entry, but takes a filter proc that can return false to skip a file.
26
+ #
27
+ # Note that if the filter rejects a subdirectory then everything within that
28
+ # subdirectory is automatically skipped as well.
29
+
30
+ def copy_entryx(src, dest, filter, preserve = false, dereference_root = false, remove_destination = false)
31
+ Entry_.new(src, nil, dereference_root).traverse do |ent|
32
+ if filter.call(ent.path) then
33
+ destent = Entry_.new(dest, ent.rel, false)
34
+ File.unlink destent.path if remove_destination && File.file?(destent.path)
35
+ ent.copy destent.path
36
+ ent.copy_metadata(destent.path) if preserve
37
+ end
38
+ end
39
+ end
40
+
41
+ end
42
+
@@ -135,7 +135,7 @@ class Pathname
135
135
 
136
136
  #
137
137
  def empty?
138
- Dir.glob(::File.join(self.to_s, '*')).empty?
138
+ Dir.glob(::File.join(to_s, '*')).empty?
139
139
  end
140
140
 
141
141
  #
@@ -1 +1 @@
1
- http://facets.rubyforge.org
1
+ http://rubyworks.github.com/facets
@@ -1 +1 @@
1
- 2009-07-03
1
+ 2010-02-22
@@ -1 +1 @@
1
- 2.8.1
1
+ 2.8.2
@@ -19,11 +19,6 @@ class TC_Array_Product < Test::Unit::TestCase
19
19
  assert_equal( r, z )
20
20
  end
21
21
 
22
- def test_op_product
23
- a = [1,2,3] ** [4,5,6]
24
- assert_equal( [[1, 4],[1, 5],[1, 6],[2, 4],[2, 5],[2, 6],[3, 4],[3, 5],[3, 6]], a )
25
- end
26
-
27
22
  #def test_product_01
28
23
  # i = [[1,2], [4], ["apple", "banana"]]
29
24
  # o = [[1, 4, "apple"], [1, 4, "banana"], [2, 4, "apple"], [2, 4, "banana"]]
@@ -0,0 +1,75 @@
1
+ require 'facets/enumerable/find_yield'
2
+ require 'test/unit'
3
+
4
+ class TestEnumerable < Test::Unit::TestCase
5
+
6
+ def test_find_yields_a_value
7
+ assert_equal true, [true].find_yield { |value| value }
8
+ end
9
+
10
+ def test_find_yield_detects_correct_value
11
+ assert_equal 1, [1].find_yield { |value| value }
12
+ end
13
+
14
+ def test_find_yield_returns_value_of_block
15
+ assert_equal 4, [1].find_yield { |v| v + 3 }
16
+ end
17
+
18
+ def test_find_yield_detects_first_truthy_value
19
+ assert_equal 1, [false, false, 1].find_yield { |value| value }
20
+ end
21
+
22
+ def test_find_yield_returns_value_when_block_is_true
23
+ assert_equal true, [false].find_yield { |value| true }
24
+ end
25
+
26
+ def test_find_yield_returns_early_when_block_is_true
27
+ val1 = lambda { :something }
28
+ val2 = lambda { raise "This shouldn't be called" }
29
+
30
+ assert_equal :something, [val1, val2].find_yield { |obj| obj.call }
31
+ end
32
+
33
+ def test_find_yield_returns_nil_when_block_returns_false_for_all_elements
34
+ assert_equal nil, [1,2,3,4].find_yield { |value| false }
35
+ end
36
+
37
+ def test_find_yield_returns_nil_when_no_elements_in_collection
38
+ assert_equal nil, [].find_yield { |v| }
39
+ end
40
+
41
+ def test_find_yield_can_have_return_value_specified_when_block_isnt_true
42
+ assert_equal :a_value, [1,2,3].find_yield(:a_value) { |value| false }
43
+ end
44
+
45
+ def test_find_yield_documentation_correct
46
+ obj1, obj2 = Object.new, Object.new
47
+
48
+ class << obj1
49
+ def foo?
50
+ false
51
+ end
52
+
53
+ def foo
54
+ raise
55
+ end
56
+ end
57
+
58
+ class << obj2
59
+ def foo?
60
+ true
61
+ end
62
+
63
+ def foo
64
+ "a value"
65
+ end
66
+ end
67
+
68
+ assert_equal false, obj1.foo?
69
+ assert_equal true, obj2.foo?
70
+ assert_equal "a value", obj2.foo
71
+
72
+ result = [obj1, obj2].find_yield { |obj| obj.foo if obj.foo? }
73
+ assert_equal result, "a value"
74
+ end
75
+ end
@@ -0,0 +1,12 @@
1
+ require 'facets/numeric/spacing'
2
+ require 'test/unit'
3
+
4
+ class TC_Numeric_spacing < Test::Unit::TestCase
5
+ def test_spacing
6
+ samples = [-10.5, -3, 3, 1.0e14, 10000, 14.5e10]
7
+ samples.each do |numeric_item|
8
+ assert numeric_item.to_s.size == numeric_item.spacing
9
+ assert numeric_item.spacing.kind_of?(Integer)
10
+ end
11
+ end
12
+ end
@@ -3,13 +3,13 @@ require 'facets/unboundmethod/name'
3
3
  class Test_UnboundMethod_Name < Test::Unit::TestCase
4
4
 
5
5
  class X
6
- def foo; end
6
+ def foo; "bar"; end
7
7
  end
8
8
 
9
9
  def test_name
10
10
  meth = X.instance_method(:foo)
11
- assert_equal("foo", meth.name)
12
- end #if RUBY_VERSION < "1.9" # UnboundMethod#name is defined already in 1.9.
11
+ assert_equal(:foo, meth.name.to_sym)
12
+ end
13
13
 
14
14
  end
15
15
 
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facets
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.1
4
+ prerelease: false
5
+ segments:
6
+ - 2
7
+ - 8
8
+ - 2
9
+ version: 2.8.2
5
10
  platform: ruby
6
11
  authors:
7
12
  - Thomas Sawyer <transfire@gmail.com>
@@ -9,7 +14,7 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-12-25 00:00:00 -05:00
17
+ date: 2010-02-26 00:00:00 -05:00
13
18
  default_executable:
14
19
  dependencies: []
15
20
 
@@ -27,19 +32,13 @@ description: |-
27
32
  The modules include a variety of useful classes, mixins
28
33
  and microframeworks, from the Functor to a complete
29
34
  Annotations system.
30
- email: facets-universal@rubyforge.org
35
+ email:
31
36
  executables: []
32
37
 
33
38
  extensions: []
34
39
 
35
- extra_rdoc_files:
36
- - Rakefile
37
- - HISTORY.rdoc
38
- - MANIFEST
39
- - NOTES
40
- - README.rdoc
41
- - AUTHORS
42
- - COPYING
40
+ extra_rdoc_files: []
41
+
43
42
  files:
44
43
  - demo/hook.rdoc
45
44
  - demo/scenario_require.rdoc
@@ -62,6 +61,7 @@ files:
62
61
  - lib/core/facets/array/splice.rb
63
62
  - lib/core/facets/array/stackable.rb
64
63
  - lib/core/facets/array/traverse.rb
64
+ - lib/core/facets/array/uniq_by.rb
65
65
  - lib/core/facets/array.rb
66
66
  - lib/core/facets/binding/caller.rb
67
67
  - lib/core/facets/binding/callstack.rb
@@ -105,7 +105,7 @@ files:
105
105
  - lib/core/facets/duplicable.rb
106
106
  - lib/core/facets/enumerable/accumulate.rb
107
107
  - lib/core/facets/enumerable/cluster_by.rb
108
- - lib/core/facets/enumerable/collect.rb
108
+ - lib/core/facets/enumerable/collapse.rb
109
109
  - lib/core/facets/enumerable/collect_with_index.rb
110
110
  - lib/core/facets/enumerable/commonality.rb
111
111
  - lib/core/facets/enumerable/compact_map.rb
@@ -114,14 +114,16 @@ files:
114
114
  - lib/core/facets/enumerable/divide.rb
115
115
  - lib/core/facets/enumerable/duplicates.rb
116
116
  - lib/core/facets/enumerable/each_by.rb
117
+ - lib/core/facets/enumerable/each_with_object.rb
117
118
  - lib/core/facets/enumerable/entropy.rb
118
119
  - lib/core/facets/enumerable/every.rb
119
120
  - lib/core/facets/enumerable/ewise.rb
121
+ - lib/core/facets/enumerable/exclude.rb
120
122
  - lib/core/facets/enumerable/filter.rb
123
+ - lib/core/facets/enumerable/find_yield.rb
121
124
  - lib/core/facets/enumerable/frequency.rb
122
125
  - lib/core/facets/enumerable/graph.rb
123
126
  - lib/core/facets/enumerable/group_by.rb
124
- - lib/core/facets/enumerable/inject.rb
125
127
  - lib/core/facets/enumerable/map_detect.rb
126
128
  - lib/core/facets/enumerable/map_send.rb
127
129
  - lib/core/facets/enumerable/map_with_index.rb
@@ -133,11 +135,14 @@ files:
133
135
  - lib/core/facets/enumerable/one.rb
134
136
  - lib/core/facets/enumerable/per.rb
135
137
  - lib/core/facets/enumerable/probability.rb
138
+ - lib/core/facets/enumerable/purge.rb
136
139
  - lib/core/facets/enumerable/split.rb
137
140
  - lib/core/facets/enumerable/sum.rb
138
141
  - lib/core/facets/enumerable/take.rb
139
142
  - lib/core/facets/enumerable/uniq_by.rb
140
143
  - lib/core/facets/enumerable.rb
144
+ - lib/core/facets/enumerator/fx.rb
145
+ - lib/core/facets/enumerator.rb
141
146
  - lib/core/facets/exception/detail.rb
142
147
  - lib/core/facets/exception/raised.rb
143
148
  - lib/core/facets/exception/suppress.rb
@@ -234,6 +239,7 @@ files:
234
239
  - lib/core/facets/kernel/ergo.rb
235
240
  - lib/core/facets/kernel/extend.rb
236
241
  - lib/core/facets/kernel/extension.rb
242
+ - lib/core/facets/kernel/false.rb
237
243
  - lib/core/facets/kernel/here.rb
238
244
  - lib/core/facets/kernel/identical.rb
239
245
  - lib/core/facets/kernel/in.rb
@@ -266,6 +272,7 @@ files:
266
272
  - lib/core/facets/kernel/singleton_class.rb
267
273
  - lib/core/facets/kernel/source_location.rb
268
274
  - lib/core/facets/kernel/tap.rb
275
+ - lib/core/facets/kernel/true.rb
269
276
  - lib/core/facets/kernel/try.rb
270
277
  - lib/core/facets/kernel/val.rb
271
278
  - lib/core/facets/kernel/with.rb
@@ -315,12 +322,13 @@ files:
315
322
  - lib/core/facets/numeric/distance.rb
316
323
  - lib/core/facets/numeric/length.rb
317
324
  - lib/core/facets/numeric/round.rb
318
- - lib/core/facets/numeric/size.rb
325
+ - lib/core/facets/numeric/spacing.rb
319
326
  - lib/core/facets/numeric.rb
320
327
  - lib/core/facets/objectspace/classes.rb
321
328
  - lib/core/facets/objectspace/op_fetch.rb
322
329
  - lib/core/facets/objectspace.rb
323
330
  - lib/core/facets/proc/bind.rb
331
+ - lib/core/facets/proc/bind_to.rb
324
332
  - lib/core/facets/proc/compose.rb
325
333
  - lib/core/facets/proc/curry.rb
326
334
  - lib/core/facets/proc/to_method.rb
@@ -352,6 +360,7 @@ files:
352
360
  - lib/core/facets/string/each_word.rb
353
361
  - lib/core/facets/string/edit_distance.rb
354
362
  - lib/core/facets/string/end_with.rb
363
+ - lib/core/facets/string/exclude.rb
355
364
  - lib/core/facets/string/expand_tab.rb
356
365
  - lib/core/facets/string/file.rb
357
366
  - lib/core/facets/string/fold.rb
@@ -412,7 +421,9 @@ files:
412
421
  - lib/core/facets/time/ago.rb
413
422
  - lib/core/facets/time/change.rb
414
423
  - lib/core/facets/time/elapse.rb
424
+ - lib/core/facets/time/future.rb
415
425
  - lib/core/facets/time/hence.rb
426
+ - lib/core/facets/time/past.rb
416
427
  - lib/core/facets/time/round.rb
417
428
  - lib/core/facets/time/set.rb
418
429
  - lib/core/facets/time/stamp.rb
@@ -441,11 +452,11 @@ files:
441
452
  - lib/more/facets/dictionary.rb
442
453
  - lib/more/facets/duration.rb
443
454
  - lib/more/facets/enumargs.rb
444
- - lib/more/facets/enumerator.rb
445
455
  - lib/more/facets/equitable.rb
446
456
  - lib/more/facets/erb.rb
447
457
  - lib/more/facets/expirable.rb
448
458
  - lib/more/facets/filelist.rb
459
+ - lib/more/facets/fileutils/cp_rx.rb
449
460
  - lib/more/facets/fileutils/head.rb
450
461
  - lib/more/facets/fileutils/safe_ln.rb
451
462
  - lib/more/facets/fileutils/slice.rb
@@ -506,7 +517,6 @@ files:
506
517
  - lib/more/facets/succ.rb
507
518
  - lib/more/facets/thread.rb
508
519
  - lib/more/facets/timer.rb
509
- - lib/more/facets/tracepoint.rb
510
520
  - lib/more/facets/tuple.rb
511
521
  - lib/more/facets/uri.rb
512
522
  - lib/more/facets/version.rb
@@ -572,10 +582,10 @@ files:
572
582
  - test/core/enumerable/test_entropy.rb
573
583
  - test/core/enumerable/test_every.rb
574
584
  - test/core/enumerable/test_ewise.rb
585
+ - test/core/enumerable/test_find_yield.rb
575
586
  - test/core/enumerable/test_frequency.rb
576
587
  - test/core/enumerable/test_group_by.rb
577
588
  - test/core/enumerable/test_inject.rb
578
- - test/core/enumerable/test_map_detect.rb
579
589
  - test/core/enumerable/test_map_with_index.rb
580
590
  - test/core/enumerable/test_mash.rb
581
591
  - test/core/enumerable/test_modulate.rb
@@ -683,6 +693,7 @@ files:
683
693
  - test/core/numeric/test_approx.rb
684
694
  - test/core/numeric/test_distance.rb
685
695
  - test/core/numeric/test_round.rb
696
+ - test/core/numeric/test_spacing.rb
686
697
  - test/core/proc/test_bind.rb
687
698
  - test/core/proc/test_compose.rb
688
699
  - test/core/proc/test_curry.rb
@@ -796,9 +807,8 @@ files:
796
807
  - README.rdoc
797
808
  - AUTHORS
798
809
  - COPYING
799
- - MANIFEST
800
810
  has_rdoc: true
801
- homepage: http://facets.rubyforge.org
811
+ homepage: http://rubyworks.github.com/facets
802
812
  licenses: []
803
813
 
804
814
  post_install_message:
@@ -812,18 +822,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
812
822
  requirements:
813
823
  - - ">="
814
824
  - !ruby/object:Gem::Version
825
+ segments:
826
+ - 0
815
827
  version: "0"
816
- version:
817
828
  required_rubygems_version: !ruby/object:Gem::Requirement
818
829
  requirements:
819
830
  - - ">="
820
831
  - !ruby/object:Gem::Version
832
+ segments:
833
+ - 0
821
834
  version: "0"
822
- version:
823
835
  requirements: []
824
836
 
825
837
  rubyforge_project: facets
826
- rubygems_version: 1.3.5
838
+ rubygems_version: 1.3.6.pre.3
827
839
  signing_key:
828
840
  specification_version: 3
829
841
  summary: Premium Core Extensions and Standard Additions
@@ -872,10 +884,10 @@ test_files:
872
884
  - test/core/enumerable/test_entropy.rb
873
885
  - test/core/enumerable/test_every.rb
874
886
  - test/core/enumerable/test_ewise.rb
887
+ - test/core/enumerable/test_find_yield.rb
875
888
  - test/core/enumerable/test_frequency.rb
876
889
  - test/core/enumerable/test_group_by.rb
877
890
  - test/core/enumerable/test_inject.rb
878
- - test/core/enumerable/test_map_detect.rb
879
891
  - test/core/enumerable/test_map_with_index.rb
880
892
  - test/core/enumerable/test_mash.rb
881
893
  - test/core/enumerable/test_modulate.rb
@@ -983,6 +995,7 @@ test_files:
983
995
  - test/core/numeric/test_approx.rb
984
996
  - test/core/numeric/test_distance.rb
985
997
  - test/core/numeric/test_round.rb
998
+ - test/core/numeric/test_spacing.rb
986
999
  - test/core/proc/test_bind.rb
987
1000
  - test/core/proc/test_compose.rb
988
1001
  - test/core/proc/test_curry.rb