ruby-nuggets 0.2.0.238 → 0.2.1.246
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/README +1 -1
- data/{HEADER → lib/nuggets/enumerable/all_any_extended.rb} +68 -0
- data/lib/nuggets/version.rb +1 -1
- metadata +33 -33
data/README
CHANGED
@@ -25,3 +25,71 @@
|
|
25
25
|
###############################################################################
|
26
26
|
#++
|
27
27
|
|
28
|
+
module Enumerable
|
29
|
+
|
30
|
+
alias_method :original_all?, :all?
|
31
|
+
alias_method :original_any?, :any?
|
32
|
+
|
33
|
+
# call-seq:
|
34
|
+
# enum.all?(obj[, operator]) => true or false
|
35
|
+
# enum.all? { ... } => true or false
|
36
|
+
#
|
37
|
+
# Adds the ability to pass an +object+ instead of a block, which will then
|
38
|
+
# be tested against each item in _enum_ according to +operator+, defaulting
|
39
|
+
# to :===.
|
40
|
+
def all?(object = default = Object.new, operator = :===, &block)
|
41
|
+
original_all?(&_block_for_all_any_extended(object, default, operator, block))
|
42
|
+
end
|
43
|
+
|
44
|
+
# call-seq:
|
45
|
+
# enum.any?(obj[, operator]) => true or false
|
46
|
+
# enum.any? { ... } => true or false
|
47
|
+
#
|
48
|
+
# Adds the ability to pass an +object+ instead of a block, which will then
|
49
|
+
# be tested against each item in _enum_ according to +operator+, defaulting
|
50
|
+
# to :===.
|
51
|
+
def any?(object = default = Object.new, operator = :===, &block)
|
52
|
+
original_any?(&_block_for_all_any_extended(object, default, operator, block))
|
53
|
+
end
|
54
|
+
|
55
|
+
private
|
56
|
+
|
57
|
+
# Common argument processing for extended versions of #all? and #any?.
|
58
|
+
def _block_for_all_any_extended(object, default, operator, block)
|
59
|
+
if default.nil?
|
60
|
+
raise ArgumentError, "both block and object argument given", caller(1) if block
|
61
|
+
|
62
|
+
lambda { |item| object.send(operator, item) }
|
63
|
+
else
|
64
|
+
block
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
if $0 == __FILE__
|
71
|
+
e = %w[quux quuux quix]
|
72
|
+
p e
|
73
|
+
|
74
|
+
p e.all?(String)
|
75
|
+
p e.any?(Numeric)
|
76
|
+
|
77
|
+
e = [:one, 'c', nil, 88]
|
78
|
+
p e
|
79
|
+
|
80
|
+
p e.all?(Object)
|
81
|
+
p e.any?(NilClass)
|
82
|
+
|
83
|
+
begin
|
84
|
+
e.any?(NilClass) { |i| i.nil? }
|
85
|
+
rescue ArgumentError => err
|
86
|
+
puts "#{err.backtrace.first}: #{err} (#{err.class})"
|
87
|
+
end
|
88
|
+
|
89
|
+
e = [0, 10, 20]
|
90
|
+
p e
|
91
|
+
|
92
|
+
p e.any?(9..99)
|
93
|
+
p e.any?(9, :<)
|
94
|
+
p e.any? { |i| i < 9 }
|
95
|
+
end
|
data/lib/nuggets/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-nuggets
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1.246
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jens Wille
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-06-24 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -24,61 +24,61 @@ extra_rdoc_files:
|
|
24
24
|
- ChangeLog
|
25
25
|
- README
|
26
26
|
files:
|
27
|
-
- lib/nuggets/integer/to_binary_s.rb
|
28
|
-
- lib/nuggets/integer/factorial.rb
|
29
|
-
- lib/nuggets/version.rb
|
30
|
-
- lib/nuggets/object/singleton_class.rb
|
31
|
-
- lib/nuggets/object/blank.rb
|
32
|
-
- lib/nuggets/enumerable/agrep.rb
|
33
|
-
- lib/nuggets/enumerable/minmax.rb
|
34
27
|
- lib/nuggets/all.rb
|
35
|
-
- lib/nuggets/
|
28
|
+
- lib/nuggets/version.rb
|
29
|
+
- lib/nuggets/io/agrep.rb
|
30
|
+
- lib/nuggets/file/which.rb
|
31
|
+
- lib/nuggets/integer/factorial.rb
|
32
|
+
- lib/nuggets/integer/to_binary_s.rb
|
33
|
+
- lib/nuggets/array/to_hash.rb
|
34
|
+
- lib/nuggets/array/shuffle.rb
|
35
|
+
- lib/nuggets/array/format.rb
|
36
|
+
- lib/nuggets/array/in_order.rb
|
37
|
+
- lib/nuggets/array/combination.rb
|
38
|
+
- lib/nuggets/array/flatten_once.rb
|
39
|
+
- lib/nuggets/array/rand.rb
|
40
|
+
- lib/nuggets/array/monotone.rb
|
41
|
+
- lib/nuggets/uri/exist.rb
|
42
|
+
- lib/nuggets/uri/content_type.rb
|
43
|
+
- lib/nuggets/proc/bind.rb
|
44
|
+
- lib/nuggets/string/word_wrap.rb
|
36
45
|
- lib/nuggets/string/msub.rb
|
37
46
|
- lib/nuggets/string/case.rb
|
47
|
+
- lib/nuggets/string/sub_with_md.rb
|
38
48
|
- lib/nuggets/string/evaluate.rb
|
39
|
-
- lib/nuggets/string/word_wrap.rb
|
40
49
|
- lib/nuggets/string/nsub.rb
|
41
50
|
- lib/nuggets/string/capitalize_first.rb
|
42
|
-
- lib/nuggets/
|
43
|
-
- lib/nuggets/
|
44
|
-
- lib/nuggets/proc/bind.rb
|
45
|
-
- lib/nuggets/array/rand.rb
|
46
|
-
- lib/nuggets/array/to_hash.rb
|
47
|
-
- lib/nuggets/array/flatten_once.rb
|
48
|
-
- lib/nuggets/array/in_order.rb
|
49
|
-
- lib/nuggets/array/shuffle.rb
|
50
|
-
- lib/nuggets/array/monotone.rb
|
51
|
-
- lib/nuggets/array/format.rb
|
52
|
-
- lib/nuggets/array/combination.rb
|
51
|
+
- lib/nuggets/object/blank.rb
|
52
|
+
- lib/nuggets/object/singleton_class.rb
|
53
53
|
- lib/nuggets/numeric/between.rb
|
54
54
|
- lib/nuggets/numeric/signum.rb
|
55
55
|
- lib/nuggets/numeric/to_multiple.rb
|
56
|
-
- lib/nuggets/util/ansicolor2css.rb
|
57
|
-
- lib/nuggets/util/content_type.rb
|
58
56
|
- lib/nuggets/util/dotted_decimal.rb
|
59
57
|
- lib/nuggets/util/i18n.rb
|
60
|
-
- lib/nuggets/
|
61
|
-
- lib/nuggets/
|
62
|
-
- lib/nuggets/
|
63
|
-
- lib/nuggets/
|
58
|
+
- lib/nuggets/util/ansicolor2css.rb
|
59
|
+
- lib/nuggets/util/content_type.rb
|
60
|
+
- lib/nuggets/enumerable/minmax.rb
|
61
|
+
- lib/nuggets/enumerable/all_any_extended.rb
|
62
|
+
- lib/nuggets/enumerable/agrep.rb
|
63
|
+
- lib/nuggets/hash/in_order.rb
|
64
|
+
- lib/nuggets/hash/insert.rb
|
64
65
|
- COPYING
|
65
|
-
-
|
66
|
+
- Rakefile
|
66
67
|
- README
|
67
68
|
- ChangeLog
|
68
|
-
- Rakefile
|
69
69
|
has_rdoc: true
|
70
70
|
homepage: http://prometheus.rubyforge.org/ruby-nuggets
|
71
71
|
post_install_message:
|
72
72
|
rdoc_options:
|
73
73
|
- --line-numbers
|
74
|
-
- --
|
74
|
+
- --main
|
75
|
+
- README
|
75
76
|
- --inline-source
|
76
77
|
- --title
|
77
78
|
- ruby-nuggets Application documentation
|
78
|
-
- --main
|
79
|
-
- README
|
80
79
|
- --charset
|
81
80
|
- UTF-8
|
81
|
+
- --all
|
82
82
|
require_paths:
|
83
83
|
- lib
|
84
84
|
required_ruby_version: !ruby/object:Gem::Requirement
|