ruby-nuggets 0.2.2.247 → 0.2.3.253

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/HEADER ADDED
@@ -0,0 +1,27 @@
1
+ #--
2
+ ###############################################################################
3
+ # #
4
+ # A component of ruby-nuggets, some extensions to the Ruby programming #
5
+ # language. #
6
+ # #
7
+ # Copyright (C) 2007-2008 Jens Wille #
8
+ # #
9
+ # Authors: #
10
+ # Jens Wille <jens.wille@uni-koeln.de> #
11
+ # #
12
+ # ruby-nuggets is free software; you can redistribute it and/or modify it #
13
+ # under the terms of the GNU General Public License as published by the Free #
14
+ # Software Foundation; either version 3 of the License, or (at your option) #
15
+ # any later version. #
16
+ # #
17
+ # ruby-nuggets is distributed in the hope that it will be useful, but WITHOUT #
18
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
19
+ # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
20
+ # more details. #
21
+ # #
22
+ # You should have received a copy of the GNU General Public License along #
23
+ # with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
+ # #
25
+ ###############################################################################
26
+ #++
27
+
data/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  == VERSION
4
4
 
5
- This documentation refers to ruby-nuggets version 0.2.2
5
+ This documentation refers to ruby-nuggets version 0.2.3
6
6
 
7
7
 
8
8
  == DESCRIPTION
@@ -27,8 +27,8 @@
27
27
 
28
28
  module Enumerable
29
29
 
30
- alias_method :original_all?, :all?
31
- alias_method :original_any?, :any?
30
+ alias_method :_nuggets_original_all?, :all?
31
+ alias_method :_nuggets_original_any?, :any?
32
32
 
33
33
  # call-seq:
34
34
  # enum.all?(obj[, operator]) => true or false
@@ -38,7 +38,7 @@ module Enumerable
38
38
  # be tested against each item in _enum_ according to +operator+, defaulting
39
39
  # to :===.
40
40
  def all?(object = default = Object.new, operator = :===, &block)
41
- original_all?(&_block_for_all_any_extended(object, default, operator, block))
41
+ _nuggets_original_all?(&_block_for_all_any_extended(object, default, operator, block))
42
42
  end
43
43
 
44
44
  # call-seq:
@@ -49,7 +49,7 @@ module Enumerable
49
49
  # be tested against each item in _enum_ according to +operator+, defaulting
50
50
  # to :===.
51
51
  def any?(object = default = Object.new, operator = :===, &block)
52
- original_any?(&_block_for_all_any_extended(object, default, operator, block))
52
+ _nuggets_original_any?(&_block_for_all_any_extended(object, default, operator, block))
53
53
  end
54
54
 
55
55
  private
@@ -27,8 +27,8 @@
27
27
 
28
28
  module Enumerable
29
29
 
30
- alias_method :original_max, :max
31
- alias_method :original_min, :min
30
+ alias_method :_nuggets_original_max, :max
31
+ alias_method :_nuggets_original_min, :min
32
32
 
33
33
  # call-seq:
34
34
  # enum.minmax_by(meth, by) => aValue
@@ -81,18 +81,18 @@ module Enumerable
81
81
  # enum.max(what) => aValue
82
82
  #
83
83
  # Maximum #minmax. If +what+ is omitted, or nil, the original Enumerable#max
84
- # is called (available as +original_max+).
84
+ # is called.
85
85
  def max(what = nil, &block)
86
- what ? minmax(:max, what) : original_max(&block)
86
+ what ? minmax(:max, what) : _nuggets_original_max(&block)
87
87
  end
88
88
 
89
89
  # call-seq:
90
90
  # enum.min(what) => aValue
91
91
  #
92
92
  # Minimum #minmax. If +what+ is omitted, or nil, the original Enumerable#min
93
- # is called (available as +original_min+).
93
+ # is called.
94
94
  def min(what = nil, &block)
95
- what ? minmax(:min, what) : original_min(&block)
95
+ what ? minmax(:min, what) : _nuggets_original_min(&block)
96
96
  end
97
97
 
98
98
  end
@@ -31,7 +31,7 @@ class IO
31
31
 
32
32
  class << self
33
33
 
34
- alias_method :original_read, :read
34
+ alias_method :_nuggets_original_read, :read
35
35
 
36
36
  # call-seq:
37
37
  # IO.read(name, [length [, offset]]) => aString
@@ -40,7 +40,7 @@ class IO
40
40
  # Opens +name+ with mode +r+. NOTE: With no associated block,
41
41
  # acts like the original IO::read, not like IO::new.
42
42
  def read(name, *args, &block)
43
- return original_read(name, *args) unless block
43
+ return _nuggets_original_read(name, *args) unless block
44
44
 
45
45
  case args.size
46
46
  when 0
@@ -1,47 +1,2 @@
1
- #--
2
- ###############################################################################
3
- # #
4
- # A component of ruby-nuggets, some extensions to the Ruby programming #
5
- # language. #
6
- # #
7
- # Copyright (C) 2007-2008 Jens Wille #
8
- # #
9
- # Authors: #
10
- # Jens Wille <jens.wille@uni-koeln.de> #
11
- # #
12
- # ruby-nuggets is free software; you can redistribute it and/or modify it #
13
- # under the terms of the GNU General Public License as published by the Free #
14
- # Software Foundation; either version 3 of the License, or (at your option) #
15
- # any later version. #
16
- # #
17
- # ruby-nuggets is distributed in the hope that it will be useful, but WITHOUT #
18
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
19
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
20
- # more details. #
21
- # #
22
- # You should have received a copy of the GNU General Public License along #
23
- # with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
- # #
25
- ###############################################################################
26
- #++
27
-
28
- class Numeric
29
-
30
- # call-seq:
31
- # num.between(min, max) => aNumeric
32
- #
33
- # Cuts _num_ to the (inclusive) range of +min+ to +max+.
34
- def between(min, max)
35
- min, max = max, min if max < min
36
-
37
- self < min ? min : self > max ? max : self
38
- end
39
-
40
- end
41
-
42
- if $0 == __FILE__
43
- [123, -123, 0, 0.001, 1.23, -12.3].each { |n|
44
- p n
45
- p n.between(0, 10)
46
- }
47
- end
1
+ # backwards compatibility
2
+ require File.join(File.dirname(__FILE__), 'limit')
@@ -0,0 +1,70 @@
1
+ #--
2
+ ###############################################################################
3
+ # #
4
+ # A component of ruby-nuggets, some extensions to the Ruby programming #
5
+ # language. #
6
+ # #
7
+ # Copyright (C) 2007-2008 Jens Wille #
8
+ # #
9
+ # Authors: #
10
+ # Jens Wille <jens.wille@uni-koeln.de> #
11
+ # #
12
+ # ruby-nuggets is free software; you can redistribute it and/or modify it #
13
+ # under the terms of the GNU General Public License as published by the Free #
14
+ # Software Foundation; either version 3 of the License, or (at your option) #
15
+ # any later version. #
16
+ # #
17
+ # ruby-nuggets is distributed in the hope that it will be useful, but WITHOUT #
18
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
19
+ # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
20
+ # more details. #
21
+ # #
22
+ # You should have received a copy of the GNU General Public License along #
23
+ # with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
+ # #
25
+ ###############################################################################
26
+ #++
27
+
28
+ class Numeric
29
+
30
+ # call-seq:
31
+ # num.limit(min, max) => aNumeric
32
+ #
33
+ # Returns +min+ if that's larger than _num_, or +max+ if that's smaller than
34
+ # _num_. Otherwise returns _num_.
35
+ def limit(min, max)
36
+ min, max = max, min if max < min
37
+
38
+ self.min(min).max(max)
39
+ end
40
+
41
+ alias_method :between, :limit
42
+
43
+ # call-seq:
44
+ # num.min(min) => aNumeric
45
+ #
46
+ # Returns _num_ or +min+, whatever is larger.
47
+ def min(min)
48
+ self < min ? min : self
49
+ end
50
+
51
+ alias_method :at_least, :min
52
+
53
+ # call-seq:
54
+ # num.max(max) => aNumeric
55
+ #
56
+ # Returns _num_ or +max+, whatever is smaller.
57
+ def max(max)
58
+ self > max ? max : self
59
+ end
60
+
61
+ alias_method :at_most, :max
62
+
63
+ end
64
+
65
+ if $0 == __FILE__
66
+ [123, -123, 0, 0.001, 1.23, -12.3].each { |n|
67
+ p n
68
+ p n.between(0, 10)
69
+ }
70
+ end
@@ -0,0 +1,57 @@
1
+ #--
2
+ ###############################################################################
3
+ # #
4
+ # A component of ruby-nuggets, some extensions to the Ruby programming #
5
+ # language. #
6
+ # #
7
+ # Copyright (C) 2007-2008 Jens Wille #
8
+ # #
9
+ # Authors: #
10
+ # Jens Wille <jens.wille@uni-koeln.de> #
11
+ # #
12
+ # ruby-nuggets is free software; you can redistribute it and/or modify it #
13
+ # under the terms of the GNU General Public License as published by the Free #
14
+ # Software Foundation; either version 3 of the License, or (at your option) #
15
+ # any later version. #
16
+ # #
17
+ # ruby-nuggets is distributed in the hope that it will be useful, but WITHOUT #
18
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
19
+ # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
20
+ # more details. #
21
+ # #
22
+ # You should have received a copy of the GNU General Public License along #
23
+ # with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
+ # #
25
+ ###############################################################################
26
+ #++
27
+
28
+ class Object
29
+
30
+ # call-seq:
31
+ # object.msend(*messages) => anArray
32
+ #
33
+ # Sends _object_ multiple +messages+ and returns an array of the individual
34
+ # return values.
35
+ def msend(*messages)
36
+ messages_with_args = messages.last.is_a?(Hash) ? messages.pop : {}
37
+
38
+ (messages + messages_with_args.keys).map { |msg|
39
+ messages_with_args.has_key?(msg) ? send(msg, *messages_with_args[msg]) : send(msg)
40
+ }
41
+ end
42
+
43
+ end
44
+
45
+ if $0 == __FILE__
46
+ o = 'foo bar'
47
+ p o
48
+ p o.msend(:length, :reverse)
49
+
50
+ o = 42
51
+ p o
52
+ p o.msend(:to_s, :* => 2)
53
+
54
+ o = Time.now
55
+ p o
56
+ p o.msend(:year, :month, :day)
57
+ end
@@ -0,0 +1,3 @@
1
+ # just a short-cut
2
+ require "#{File.dirname(__FILE__)}.rb"
3
+ AddedMethods.init
@@ -0,0 +1,302 @@
1
+ # watch for added methods and record them
2
+ # cf. <http://unroller.rubyforge.org/classes/Unroller.html#M000034>
3
+
4
+ # TODO:
5
+ # - multi-line statements in irb (extract_source)
6
+ # - polishing!
7
+
8
+ module AddedMethods
9
+
10
+ extend self
11
+
12
+ HISTFILENAME = '(Readline::HISTORY)'.freeze
13
+
14
+ class AddedMethod < Hash
15
+
16
+ def initialize(*args)
17
+ update(*args) unless args.empty?
18
+ end
19
+
20
+ def extract_source(num_lines = nil)
21
+ return unless Object.const_defined?(:SCRIPT_LINES__)
22
+ return unless script_lines = SCRIPT_LINES__[file]
23
+
24
+ start, from, to = line - 1, line, script_lines.size - 1
25
+
26
+ # suppose we're already in a block
27
+ in_block = 1
28
+
29
+ num_lines ||= case definition = script_lines[start]
30
+ # def ... end, or do ... end style block
31
+ when /\b(?:def|do)\b/
32
+ definition =~ /\bend\b/ ? 1 : begin
33
+ from.upto(to) { |i|
34
+ case line = script_lines[i]
35
+ when /[^;\s]\s+(?:if|unless)\b/
36
+ # probably postfix conditional, ignore
37
+ when /\b(?:if|unless|while|until|def|do)\b/
38
+ in_block += 1
39
+ when /\bend\b/
40
+ in_block -= 1
41
+ end
42
+
43
+ break i - start + 1 if in_block.zero?
44
+ }
45
+ end
46
+ # { ... } style block
47
+ when /\bdefine_method\b/
48
+ from.upto(to) { |i|
49
+ line = script_lines[i]
50
+
51
+ in_block += line.count('{')
52
+ in_block -= line.count('}')
53
+
54
+ break i - start + 1 if in_block.zero?
55
+ }
56
+ else
57
+ 1
58
+ end
59
+
60
+ script_lines[start, num_lines].map { |l| " #{l}" }
61
+ end
62
+
63
+ def to_s(num_lines = nil)
64
+ "# File #{file}, line #{line}\n#{extract_source(num_lines)}"
65
+ end
66
+
67
+ def klass
68
+ self[:class]
69
+ end
70
+
71
+ def method_missing(method, *args)
72
+ has_key?(method) ? self[method] : super
73
+ end
74
+
75
+ end
76
+
77
+ def init(regexp = nil, klasses = [], &block)
78
+ init_script_lines
79
+ patch_readline_history
80
+
81
+ define_callback(:__init, regexp, klasses, &block) if regexp
82
+ install_callbacks
83
+ end
84
+
85
+ def callbacks
86
+ init_callbacks
87
+ CALLBACKS
88
+ end
89
+
90
+ def callback(*args, &inner_block)
91
+ callback_args = [identify_added_method(*args << caller), caller, inner_block]
92
+ callbacks.each { |name, callback| callback[*callback_args] }
93
+ end
94
+
95
+ def define_callback(name, regexp = //, klasses = [], &outer_block)
96
+ raise TypeError, "wrong argument type #{name.class} (expected Symbol)" unless name.is_a?(Symbol)
97
+ raise "callback with name #{name} already exists" if callbacks.any? { |n, _| n == name }
98
+
99
+ raise TypeError, "wrong argument type #{regexp.class} (expected Regexp)" unless regexp.is_a?(Regexp)
100
+ raise TypeError, "wrong argument type #{klasses.class} (expected container object)" unless klasses.respond_to?(:empty?) && klasses.respond_to?(:include?)
101
+
102
+ callbacks << [name, lambda { |am, callstack, inner_block|
103
+ method, klass = am.values_at(:name, :class)
104
+
105
+ return if %w[method_added singleton_method_added].include?(method)
106
+
107
+ return unless klasses.empty? || klasses.include?(klass.to_s)
108
+ return unless method =~ regexp
109
+
110
+ if outer_block || inner_block
111
+ outer_block[am] if outer_block
112
+ inner_block[am] if inner_block
113
+ else
114
+ msg = "[#{am.base}] Adding #{'singleton ' if am.singleton}method #{klass}##{method}"
115
+
116
+ msg << if irb?(callstack)
117
+ " in (irb:#{IRB.conf[:MAIN_CONTEXT].instance_variable_get(:@line_no)})"
118
+ else
119
+ " at #{where(callstack)}"
120
+ end
121
+
122
+ puts msg
123
+ end
124
+ }]
125
+ end
126
+
127
+ def remove_callback(name)
128
+ callbacks.delete_if { |n, _| n == name }
129
+ end
130
+
131
+ def replace_callback(name, regexp = nil, klasses = [], &outer_block)
132
+ remove_callback(name)
133
+ define_callback(name, regexp, klasses, &outer_block)
134
+ end
135
+
136
+ def install_callbacks(bases = [Object, Class, Module, Kernel])
137
+ bases.each { |base|
138
+ [base, singleton_class(base)].each { |b|
139
+ b.send(:define_method, :method_added) { |id| AddedMethods.callback(b, self, id, false) }
140
+ b.send(:define_method, :singleton_method_added) { |id| AddedMethods.callback(b, self, id, true) }
141
+ }
142
+ }
143
+ end
144
+
145
+ def all_methods
146
+ init_all_methods
147
+ ALL_METHODS
148
+ end
149
+
150
+ def find(conditions = {})
151
+ conditions = conditions.dup
152
+
153
+ class_condition = conditions.delete(:class)
154
+ file_condition = conditions.delete(:file)
155
+
156
+ results = []
157
+
158
+ all_methods.each { |klass, files|
159
+ if class_condition
160
+ next unless class_condition.is_a?(Array) ? class_condition.include?(klass) : klass == class_condition
161
+ end
162
+
163
+ files.each { |file, entries|
164
+ if file_condition
165
+ next unless file_condition.is_a?(Regexp) ? file =~ file_condition : file == file_condition
166
+ end
167
+
168
+ entries.each { |entry|
169
+ results << entry.merge(
170
+ :class => klass,
171
+ :file => file
172
+ ) if conditions.all? { |key, value|
173
+ case value
174
+ when Array: value.include?(entry[key])
175
+ when Regexp: entry[key].to_s =~ value
176
+ else entry[key] == value
177
+ end
178
+ }
179
+ }
180
+ }
181
+ }
182
+
183
+ results
184
+ end
185
+
186
+ def find_by_class(*classes)
187
+ conditions = classes.last.is_a?(Hash) ? classes.pop : {}
188
+ find(conditions.merge(:class => classes))
189
+ end
190
+
191
+ def find_by_name(*names)
192
+ conditions = names.last.is_a?(Hash) ? names.pop : {}
193
+ names.inject([]) { |memo, name|
194
+ memo += find(conditions.merge(:name => name.to_s))
195
+ }
196
+ end
197
+
198
+ private
199
+
200
+ def singleton_class(klass = self)
201
+ class << klass; self; end
202
+ end
203
+
204
+ def init_script_lines
205
+ unless Object.const_defined?(:SCRIPT_LINES__)
206
+ Object.const_set(:SCRIPT_LINES__, {})
207
+ end
208
+ end
209
+
210
+ def init_callbacks
211
+ unless const_defined?(:CALLBACKS)
212
+ const_set(:CALLBACKS, [])
213
+ define_callback(:__default, //, [], &added_method_callback)
214
+ end
215
+ end
216
+
217
+ def init_all_methods
218
+ unless const_defined?(:ALL_METHODS)
219
+ const_set(:ALL_METHODS, Hash.new { |h, k|
220
+ h[k] = Hash.new { |i, j|
221
+ i[j] = []
222
+ }
223
+ })
224
+ end
225
+ end
226
+
227
+ def patch_readline_history
228
+ return unless have_readline_history?
229
+ return if Readline::HISTORY.respond_to?(:_added_methods_original_push)
230
+
231
+ class << Readline::HISTORY
232
+ alias_method :_added_methods_original_push, :push
233
+
234
+ def push(l)
235
+ (SCRIPT_LINES__[HISTFILENAME] ||= Readline::HISTORY.to_a) << l
236
+ _added_methods_original_push(l)
237
+ end
238
+
239
+ alias_method :<<, :push
240
+ end
241
+ end
242
+
243
+ def have_readline_history?
244
+ Object.const_defined?(:Readline) && Readline.const_defined?(:HISTORY)
245
+ end
246
+
247
+ def defined_in_irb?(callstack)
248
+ callstack = callstack.dup
249
+
250
+ callstack.shift # ignore immediate caller
251
+ callstack.reject! { |c| c =~ /\(irb\):|:in `irb_binding'/ }
252
+ callstack.pop if callstack.last =~ %r{/irb/workspace\.rb:}
253
+
254
+ callstack.empty?
255
+ end
256
+
257
+ def irb?(callstack)
258
+ have_readline_history? && defined_in_irb?(callstack)
259
+ end
260
+
261
+ def where(callstack, default = '(none):0')
262
+ callstack.find { |i| i !~ /:in `.*'/ } || callstack[1] || default
263
+ end
264
+
265
+ def added_method_callback
266
+ lambda { |am| add_method(am) }
267
+ end
268
+
269
+ def add_method(am)
270
+ am = AddedMethod.new(am) unless am.is_a?(AddedMethod)
271
+ all_methods[am.klass][am.file] << am
272
+ end
273
+
274
+ def identify_added_method(base, klass, id, singleton, callstack)
275
+ am = {
276
+ :base => base,
277
+ :class => klass,
278
+ :name => id.id2name,
279
+ :singleton => singleton
280
+ }
281
+
282
+ if irb?(callstack)
283
+ am.update(
284
+ :file => HISTFILENAME,
285
+ :line => Readline::HISTORY.size,
286
+ :source => Readline::HISTORY[-1]
287
+ )
288
+ else
289
+ file, line, _ = where(callstack).split(':')
290
+ line = line.to_i
291
+
292
+ am.update(
293
+ :file => file,
294
+ :line => line,
295
+ :source => (SCRIPT_LINES__[file] || [])[line - 1]
296
+ )
297
+ end
298
+
299
+ AddedMethod.new(am)
300
+ end
301
+
302
+ end
@@ -4,7 +4,7 @@ module Nuggets
4
4
 
5
5
  MAJOR = 0
6
6
  MINOR = 2
7
- TINY = 2
7
+ TINY = 3
8
8
 
9
9
  class << self
10
10
 
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.2.247
4
+ version: 0.2.3.253
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-07-10 00:00:00 +02:00
12
+ date: 2008-07-11 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -24,60 +24,65 @@ extra_rdoc_files:
24
24
  - ChangeLog
25
25
  - README
26
26
  files:
27
- - lib/nuggets/all.rb
28
- - lib/nuggets/version.rb
29
- - lib/nuggets/io/agrep.rb
30
- - lib/nuggets/io/modes.rb
31
- - lib/nuggets/file/which.rb
32
- - lib/nuggets/integer/factorial.rb
33
27
  - lib/nuggets/integer/to_binary_s.rb
34
- - lib/nuggets/array/to_hash.rb
35
- - lib/nuggets/array/shuffle.rb
36
- - lib/nuggets/array/format.rb
37
- - lib/nuggets/array/in_order.rb
38
- - lib/nuggets/array/combination.rb
39
- - lib/nuggets/array/flatten_once.rb
40
- - lib/nuggets/array/rand.rb
41
- - lib/nuggets/array/monotone.rb
42
- - lib/nuggets/uri/exist.rb
43
- - lib/nuggets/uri/content_type.rb
44
- - lib/nuggets/proc/bind.rb
45
- - lib/nuggets/string/word_wrap.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/object/msend.rb
33
+ - lib/nuggets/enumerable/agrep.rb
34
+ - lib/nuggets/enumerable/all_any_extended.rb
35
+ - lib/nuggets/enumerable/minmax.rb
36
+ - lib/nuggets/all.rb
37
+ - lib/nuggets/string/sub_with_md.rb
46
38
  - lib/nuggets/string/msub.rb
47
39
  - lib/nuggets/string/case.rb
48
- - lib/nuggets/string/sub_with_md.rb
49
40
  - lib/nuggets/string/evaluate.rb
41
+ - lib/nuggets/string/word_wrap.rb
50
42
  - lib/nuggets/string/nsub.rb
51
43
  - lib/nuggets/string/capitalize_first.rb
52
- - lib/nuggets/object/blank.rb
53
- - lib/nuggets/object/singleton_class.rb
44
+ - lib/nuggets/hash/in_order.rb
45
+ - lib/nuggets/hash/insert.rb
46
+ - lib/nuggets/proc/bind.rb
47
+ - lib/nuggets/array/rand.rb
48
+ - lib/nuggets/array/to_hash.rb
49
+ - lib/nuggets/array/flatten_once.rb
50
+ - lib/nuggets/array/in_order.rb
51
+ - lib/nuggets/array/shuffle.rb
52
+ - lib/nuggets/array/monotone.rb
53
+ - lib/nuggets/array/format.rb
54
+ - lib/nuggets/array/combination.rb
54
55
  - lib/nuggets/numeric/between.rb
55
56
  - lib/nuggets/numeric/signum.rb
57
+ - lib/nuggets/numeric/limit.rb
56
58
  - lib/nuggets/numeric/to_multiple.rb
57
- - lib/nuggets/util/dotted_decimal.rb
58
- - lib/nuggets/util/i18n.rb
59
+ - lib/nuggets/util/added_methods/init.rb
60
+ - lib/nuggets/util/added_methods.rb
59
61
  - lib/nuggets/util/ansicolor2css.rb
60
62
  - lib/nuggets/util/content_type.rb
61
- - lib/nuggets/enumerable/minmax.rb
62
- - lib/nuggets/enumerable/all_any_extended.rb
63
- - lib/nuggets/enumerable/agrep.rb
64
- - lib/nuggets/hash/in_order.rb
65
- - lib/nuggets/hash/insert.rb
63
+ - lib/nuggets/util/dotted_decimal.rb
64
+ - lib/nuggets/util/i18n.rb
65
+ - lib/nuggets/file/which.rb
66
+ - lib/nuggets/uri/content_type.rb
67
+ - lib/nuggets/uri/exist.rb
68
+ - lib/nuggets/io/modes.rb
69
+ - lib/nuggets/io/agrep.rb
66
70
  - COPYING
67
- - Rakefile
71
+ - HEADER
68
72
  - README
69
73
  - ChangeLog
74
+ - Rakefile
70
75
  has_rdoc: true
71
76
  homepage: http://prometheus.rubyforge.org/ruby-nuggets
72
77
  post_install_message:
73
78
  rdoc_options:
74
- - --all
75
- - --main
76
- - README
77
79
  - --line-numbers
78
80
  - --inline-source
79
81
  - --title
80
82
  - ruby-nuggets Application documentation
83
+ - --main
84
+ - README
85
+ - --all
81
86
  - --charset
82
87
  - UTF-8
83
88
  require_paths: