ruby-nuggets 0.8.7 → 0.8.8

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  == VERSION
4
4
 
5
- This documentation refers to ruby-nuggets version 0.8.7
5
+ This documentation refers to ruby-nuggets version 0.8.8
6
6
 
7
7
 
8
8
  == DESCRIPTION
@@ -205,7 +205,7 @@ module Util
205
205
 
206
206
  generic_opts(opts)
207
207
  post_opts(opts)
208
- }
208
+ }.extend(Util::CLI::OptionParserExtension)
209
209
  end
210
210
 
211
211
  def pre_opts(opts)
@@ -227,6 +227,16 @@ module Util
227
227
  def post_opts(opts)
228
228
  end
229
229
 
230
+ module OptionParserExtension
231
+
232
+ KEY_POOL = ('A'..'Z').to_a + ('a'..'z').to_a + ('0'..'9').to_a
233
+
234
+ def keys
235
+ { :used => keys = top.short.keys, :free => KEY_POOL - keys }
236
+ end
237
+
238
+ end
239
+
230
240
  end
231
241
 
232
242
  end
@@ -97,7 +97,7 @@ module Util
97
97
  }
98
98
 
99
99
  def self.args_for_map_diacritics
100
- @gsub_for_map_diacritics ||= begin
100
+ @args_for_map_diacritics ||= begin
101
101
  map = ::Hash.new { |h, k| h[k] = [] }
102
102
 
103
103
  DIACRITICS.each { |a| a.each { |i| map[i].concat(a) } }
@@ -0,0 +1,106 @@
1
+ #--
2
+ ###############################################################################
3
+ # #
4
+ # A component of ruby-nuggets, some extensions to the Ruby programming #
5
+ # language. #
6
+ # #
7
+ # Copyright (C) 2007-2012 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 Affero General Public License as published by #
14
+ # the Free Software Foundation; either version 3 of the License, or (at your #
15
+ # option) 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 Affero General Public License #
20
+ # for more details. #
21
+ # #
22
+ # You should have received a copy of the GNU Affero General Public License #
23
+ # along with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
+ # #
25
+ ###############################################################################
26
+ #++
27
+
28
+ require 'nuggets/util/log_parser'
29
+
30
+ module Util
31
+
32
+ module LogParser
33
+
34
+ module Apache
35
+
36
+ extend self
37
+
38
+ DEFAULT_RE = %r{(.*?)}
39
+
40
+ DIRECTIVES = {
41
+ 'h' => [:ip, %r{(\d+(?:\.\d+){3}|[\w.-]+)}],
42
+ 'l' => [:auth, DEFAULT_RE],
43
+ 'u' => [:username, DEFAULT_RE],
44
+ 't' => [:datetime, %r{\[(.*?)\]}],
45
+ 'r' => [:request, DEFAULT_RE],
46
+ 'R' => [:request, %r{(.*?)(?:"|\z)}],
47
+ 's' => [:status, %r{(\d+)}],
48
+ 'b' => [:bytecount, %r{(-|\d+)}],
49
+ 'v' => [:domain, DEFAULT_RE],
50
+ 'i' => [nil, DEFAULT_RE],
51
+ }
52
+
53
+ DIRECTIVES_RE = %r{%.*?(?:\{(.*?)\})?([#{DIRECTIVES.keys.join}])([\s\\"]*)}
54
+
55
+ ORDER = []
56
+
57
+ class << self
58
+
59
+ def register(name, format)
60
+ base = const_set(name, Module.new)
61
+
62
+ re, items = parse_format(format)
63
+ base.const_set(:RE, re)
64
+ base.const_set(:ITEMS, items)
65
+
66
+ ORDER << base
67
+ LogParser.register(base, self)
68
+ end
69
+
70
+ def parse_format(format)
71
+ re, items = '\A', []
72
+
73
+ format.scan(DIRECTIVES_RE) { |h, c, e|
74
+ i, r = DIRECTIVES[c]
75
+ re << r.source << e.gsub(/\s/, '\\s')
76
+ items << i ||= h.downcase.tr('-', '_').to_sym
77
+ }
78
+
79
+ [Regexp.new(re), items]
80
+ end
81
+
82
+ def detect_type(line)
83
+ ORDER.find { |type| line =~ type::RE }
84
+ end
85
+
86
+ end
87
+
88
+ [ [:Combined, '%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i"'],
89
+ [:Common, '%h %l %u %t "%r" %>s %b'],
90
+ [:Minimal, '%h %l %u %t "%R']
91
+ ].each { |name, format| register(name, format) }
92
+
93
+ def parse_line(line, entry = {})
94
+ if md = self::RE.match(line)
95
+ self::ITEMS.each_with_index { |k, i| entry[k] = md[i + 1] }
96
+ yield if block_given?
97
+ end
98
+
99
+ entry
100
+ end
101
+
102
+ end
103
+
104
+ end
105
+
106
+ end
@@ -0,0 +1,224 @@
1
+ #--
2
+ ###############################################################################
3
+ # #
4
+ # A component of ruby-nuggets, some extensions to the Ruby programming #
5
+ # language. #
6
+ # #
7
+ # Copyright (C) 2007-2012 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 Affero General Public License as published by #
14
+ # the Free Software Foundation; either version 3 of the License, or (at your #
15
+ # option) 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 Affero General Public License #
20
+ # for more details. #
21
+ # #
22
+ # You should have received a copy of the GNU Affero General Public License #
23
+ # along with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
+ # #
25
+ ###############################################################################
26
+ #++
27
+
28
+ require 'nuggets/util/log_parser'
29
+
30
+ module Util
31
+
32
+ module LogParser
33
+
34
+ module Rails
35
+
36
+ LogParser.register(self)
37
+
38
+ # Log line prefix
39
+ PREFIX_RE = %r{
40
+ \A
41
+ (?:
42
+ \[
43
+ (\d+) # pid
44
+ :
45
+ (.*?) # host
46
+ \]
47
+ \s
48
+ )?
49
+ \s*
50
+ }x
51
+
52
+ # Log entry separator
53
+ SEPARATOR_RE = %r{
54
+ \s+\|\s+
55
+ }x
56
+
57
+ # Log line patterns
58
+ ITEMS = [
59
+ [:processing, {
60
+ :re => %r{
61
+ #{PREFIX_RE} # pid, host
62
+ Processing\s+
63
+ (\w+) # controller
64
+ \#
65
+ (\w+) # action
66
+ \s+
67
+ \(
68
+ for\s+
69
+ (.*?) # ip
70
+ \s+at\s+
71
+ (.*?) # datetime
72
+ \)
73
+ \s+
74
+ \[
75
+ (\w+) # request_method
76
+ \]
77
+ }xo,
78
+ :keys => [:controller, :action, :ip, :datetime, :request_method]
79
+ }],
80
+ [:session_id, {
81
+ :re => %r{
82
+ #{PREFIX_RE} # pid, host
83
+ Session\sID:\s+
84
+ (\S+) # sid
85
+ }xo,
86
+ :keys => [:sid]
87
+ }],
88
+ [:parameters, {
89
+ :re => %r{
90
+ #{PREFIX_RE} # pid, host
91
+ Parameters:\s+
92
+ (\{.*\}) # params
93
+ }xo, #}
94
+ :proc => lambda { |entry, md|
95
+ entry[:params_hash] = md[3].hash
96
+ entry[:params] = begin
97
+ eval("$SAFE = 3\n#{md[3].gsub(/#<.*?>/, '%q{\&}')}", nil, __FILE__, __LINE__) # !!!
98
+ rescue SyntaxError, SecurityError
99
+ {}
100
+ end
101
+ }
102
+ }],
103
+ [:client_info, {
104
+ :re => %r{
105
+ #{PREFIX_RE} # pid, host
106
+ Client\sinfo:\s+
107
+ UA\s+=\s+
108
+ (.*?) # user_agent
109
+ #{SEPARATOR_RE}
110
+ LANG\s+=\s+
111
+ (.*) # accept_language
112
+ }xo,
113
+ :keys => [:user_agent, :accept_language]
114
+ }],
115
+ [:referer, {
116
+ :re => %r{
117
+ #{PREFIX_RE} # pid, host
118
+ Referer:\s+
119
+ (.*) # referer
120
+ }xo,
121
+ :keys => [:referer]
122
+ }],
123
+ [:meta, {
124
+ :re => %r{
125
+ #{PREFIX_RE} # pid, host
126
+ Meta:\s+
127
+ User\s+=\s+
128
+ (.*?) # user_id
129
+ #{SEPARATOR_RE}
130
+ Institution\s+=\s+
131
+ (.*) # institution_id
132
+ }xo,
133
+ :keys => [:user_id, :institution_id]
134
+ }],
135
+ [:stats, {
136
+ :re => %r{
137
+ #{PREFIX_RE} # pid, host
138
+ Stats:\s+
139
+ (.*) # flags
140
+ }xo,
141
+ :proc => lambda { |entry, md|
142
+ entry[:flags] = md[3].split(SEPARATOR_RE)
143
+ }
144
+ }],
145
+ [:oauth, {
146
+ :re => %r{
147
+ #{PREFIX_RE} # pid, host
148
+ OAuth:\s+
149
+ Token\s+=\s+
150
+ (.*?)#(.*?) # token_type, token
151
+ #{SEPARATOR_RE}
152
+ User\s+=\s+
153
+ (.*?) # user_id
154
+ #{SEPARATOR_RE}
155
+ Client\s+=\s+
156
+ (.*) # client_id
157
+ }xo,
158
+ :keys => [:token_type, :token, :user_id, :client_id]
159
+ }],
160
+ [:benchmark, {
161
+ :re => %r{
162
+ #{PREFIX_RE} # pid, host
163
+ Completed\sin\s+
164
+ (\S+) # runtime
165
+ .*?
166
+ (?: #- OPTIONAL
167
+ #{SEPARATOR_RE}
168
+ Rendering:\s+
169
+ (\S+) # rendering_runtime
170
+ .*?
171
+ )?
172
+ (?: #- OPTIONAL
173
+ #{SEPARATOR_RE}
174
+ DB:\s+
175
+ (\S+) # db_runtime
176
+ .*?
177
+ )?
178
+ (?: #- OPTIONAL
179
+ #{SEPARATOR_RE}
180
+ Mem:\s+
181
+ \S+
182
+ .*?
183
+ )?
184
+ #{SEPARATOR_RE}
185
+ (.*?) # status
186
+ \s+
187
+ \[
188
+ (.*) # request_uri
189
+ \]
190
+ }xo,
191
+ :keys => [:runtime, :rendering_runtime, :db_runtime, :status, :request_uri]
192
+ }]
193
+ ]
194
+
195
+ ITEMS.each { |_, item|
196
+ item[:proc] ||= lambda { |entry, md|
197
+ item[:keys].each_with_index { |k, i|
198
+ entry[k] = md[i + 3] # 1 = pid, 2 = host
199
+ }
200
+ }
201
+ }
202
+
203
+ def parse_line(line, entry = {})
204
+ ITEMS.each { |key, item|
205
+ if md = item[:re].match(line)
206
+ if key == :processing
207
+ yield if block_given?
208
+ entry[:pid], entry[:host] = md[1], md[2]
209
+ end
210
+
211
+ item[:proc][entry, md]
212
+
213
+ break
214
+ end
215
+ }
216
+
217
+ entry
218
+ end
219
+
220
+ end
221
+
222
+ end
223
+
224
+ end
@@ -0,0 +1,73 @@
1
+ #--
2
+ ###############################################################################
3
+ # #
4
+ # A component of ruby-nuggets, some extensions to the Ruby programming #
5
+ # language. #
6
+ # #
7
+ # Copyright (C) 2007-2012 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 Affero General Public License as published by #
14
+ # the Free Software Foundation; either version 3 of the License, or (at your #
15
+ # option) 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 Affero General Public License #
20
+ # for more details. #
21
+ # #
22
+ # You should have received a copy of the GNU Affero General Public License #
23
+ # along with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
+ # #
25
+ ###############################################################################
26
+ #++
27
+
28
+ require 'zlib'
29
+
30
+ module Util
31
+
32
+ module LogParser
33
+
34
+ extend self
35
+
36
+ GZ_EXT_RE = %r{\.gz\z}
37
+
38
+ def self.register(base, *modules)
39
+ base.send(:include, *modules << self)
40
+ base.extend(base)
41
+ end
42
+
43
+ def parse(input)
44
+ entry = {}
45
+
46
+ input.each { |line| parse_line(line, entry) {
47
+ unless entry.empty?
48
+ yield entry.dup
49
+ entry.clear
50
+ end
51
+ } }
52
+
53
+ yield entry unless entry.empty?
54
+ end
55
+
56
+ def parse_line(line, entry = {})
57
+ # Yield when entry complete. Preferrably return +entry+.
58
+ raise NotImplementedError, 'must be implemented by type'
59
+ end
60
+
61
+ def parse_file(file, &block)
62
+ block ||= (entries = []; lambda { |entry| entries << entry })
63
+
64
+ (file =~ GZ_EXT_RE ? Zlib::GzipReader : File).open(file) { |f|
65
+ block.arity == 1 ? parse(f, &block) : block[f, method(:parse)]
66
+ }
67
+
68
+ entries
69
+ end
70
+
71
+ end
72
+
73
+ end
@@ -4,7 +4,7 @@ module Nuggets
4
4
 
5
5
  MAJOR = 0
6
6
  MINOR = 8
7
- TINY = 7
7
+ TINY = 8
8
8
 
9
9
  class << self
10
10
 
metadata CHANGED
@@ -1,245 +1,230 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ruby-nuggets
3
- version: !ruby/object:Gem::Version
4
- hash: 49
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.8
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 8
9
- - 7
10
- version: 0.8.7
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jens Wille
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-04-27 00:00:00 Z
12
+ date: 2012-07-06 00:00:00.000000000 Z
19
13
  dependencies: []
20
-
21
14
  description: Some extensions to the Ruby programming language.
22
15
  email: jens.wille@uni-koeln.de
23
16
  executables: []
24
-
25
17
  extensions: []
26
-
27
- extra_rdoc_files:
18
+ extra_rdoc_files:
28
19
  - README
29
20
  - COPYING
30
21
  - ChangeLog
31
- files:
32
- - lib/nuggets.rb
33
- - lib/nuggets/range/quantile_mixin.rb
34
- - lib/nuggets/range/quantile.rb
35
- - lib/nuggets/hash/unroll_mixin.rb
36
- - lib/nuggets/hash/insert.rb
37
- - lib/nuggets/hash/nest.rb
38
- - lib/nuggets/hash/deep_merge_mixin.rb
39
- - lib/nuggets/hash/only.rb
40
- - lib/nuggets/hash/deep_merge.rb
41
- - lib/nuggets/hash/at.rb
42
- - lib/nuggets/hash/in_order.rb
43
- - lib/nuggets/hash/nest_mixin.rb
44
- - lib/nuggets/hash/unroll.rb
45
- - lib/nuggets/env/user_home.rb
46
- - lib/nuggets/env/user_encoding.rb
47
- - lib/nuggets/env/set.rb
48
- - lib/nuggets/env/user_home_mixin.rb
49
- - lib/nuggets/env/set_mixin.rb
50
- - lib/nuggets/env/user_encoding_mixin.rb
51
- - lib/nuggets/net/success.rb
52
- - lib/nuggets/object/silence_mixin.rb
22
+ files:
23
+ - lib/nuggets/tempfile/open.rb
24
+ - lib/nuggets/version.rb
25
+ - lib/nuggets/proc/bind.rb
26
+ - lib/nuggets/proc/bind_mixin.rb
27
+ - lib/nuggets/statistics.rb
28
+ - lib/nuggets/io/interact_mixin.rb
29
+ - lib/nuggets/io/null.rb
30
+ - lib/nuggets/io/null_mixin.rb
31
+ - lib/nuggets/io/redirect.rb
32
+ - lib/nuggets/io/redirect_mixin.rb
33
+ - lib/nuggets/io/interact.rb
34
+ - lib/nuggets/io/modes.rb
35
+ - lib/nuggets/io/agrep.rb
36
+ - lib/nuggets/object/silence.rb
37
+ - lib/nuggets/object/singleton_class_mixin.rb
38
+ - lib/nuggets/object/ghost_class.rb
39
+ - lib/nuggets/object/blank_mixin.rb
40
+ - lib/nuggets/object/metaclass.rb
53
41
  - lib/nuggets/object/uniclass.rb
42
+ - lib/nuggets/object/msend_mixin.rb
54
43
  - lib/nuggets/object/singleton_class.rb
55
- - lib/nuggets/object/msend.rb
56
- - lib/nuggets/object/virtual_class.rb
57
- - lib/nuggets/object/ghost_class.rb
58
44
  - lib/nuggets/object/boolean.rb
59
- - lib/nuggets/object/blank.rb
60
45
  - lib/nuggets/object/boolean_mixin.rb
61
- - lib/nuggets/object/metaclass.rb
62
- - lib/nuggets/object/msend_mixin.rb
63
- - lib/nuggets/object/singleton_class_mixin.rb
46
+ - lib/nuggets/object/virtual_class.rb
47
+ - lib/nuggets/object/msend.rb
48
+ - lib/nuggets/object/blank.rb
64
49
  - lib/nuggets/object/eigenclass.rb
65
- - lib/nuggets/object/silence.rb
66
- - lib/nuggets/object/blank_mixin.rb
67
- - lib/nuggets/version.rb
68
- - lib/nuggets/statistics_mixins.rb
69
- - lib/nuggets/file/ext.rb
50
+ - lib/nuggets/object/silence_mixin.rb
51
+ - lib/nuggets/range/quantile.rb
52
+ - lib/nuggets/range/quantile_mixin.rb
53
+ - lib/nuggets/string/nsub.rb
54
+ - lib/nuggets/string/wc_mixin.rb
55
+ - lib/nuggets/string/camelscore_mixin.rb
56
+ - lib/nuggets/string/capitalize_first.rb
57
+ - lib/nuggets/string/msub.rb
58
+ - lib/nuggets/string/evaluate.rb
59
+ - lib/nuggets/string/camelscore.rb
60
+ - lib/nuggets/string/case.rb
61
+ - lib/nuggets/string/wc.rb
62
+ - lib/nuggets/string/evaluate_mixin.rb
63
+ - lib/nuggets/string/sub_with_md.rb
64
+ - lib/nuggets/string/xor.rb
65
+ - lib/nuggets/string/word_wrap.rb
66
+ - lib/nuggets/string/xor_mixin.rb
67
+ - lib/nuggets/all_mixins.rb
68
+ - lib/nuggets/file/replace.rb
70
69
  - lib/nuggets/file/replace_mixin.rb
71
70
  - lib/nuggets/file/which_mixin.rb
72
- - lib/nuggets/file/which.rb
71
+ - lib/nuggets/file/ext.rb
73
72
  - lib/nuggets/file/ext_mixin.rb
74
- - lib/nuggets/file/replace.rb
75
- - lib/nuggets/file/sub_mixin.rb
76
73
  - lib/nuggets/file/sub.rb
74
+ - lib/nuggets/file/which.rb
75
+ - lib/nuggets/file/sub_mixin.rb
76
+ - lib/nuggets/all.rb
77
+ - lib/nuggets/net/success.rb
78
+ - lib/nuggets/hash/deep_merge_mixin.rb
79
+ - lib/nuggets/hash/nest_mixin.rb
80
+ - lib/nuggets/hash/unroll_mixin.rb
81
+ - lib/nuggets/hash/in_order.rb
82
+ - lib/nuggets/hash/at.rb
83
+ - lib/nuggets/hash/insert.rb
84
+ - lib/nuggets/hash/unroll.rb
85
+ - lib/nuggets/hash/deep_merge.rb
86
+ - lib/nuggets/hash/nest.rb
87
+ - lib/nuggets/hash/only.rb
88
+ - lib/nuggets/statistics_mixins.rb
89
+ - lib/nuggets/uri/redirect.rb
90
+ - lib/nuggets/uri/redirect_mixin.rb
91
+ - lib/nuggets/uri/content_type.rb
92
+ - lib/nuggets/uri/exist_mixin.rb
93
+ - lib/nuggets/uri/exist.rb
94
+ - lib/nuggets/uri/content_type_mixin.rb
95
+ - lib/nuggets/env/user_home.rb
96
+ - lib/nuggets/env/user_encoding_mixin.rb
97
+ - lib/nuggets/env/user_encoding.rb
98
+ - lib/nuggets/env/user_home_mixin.rb
99
+ - lib/nuggets/env/set.rb
100
+ - lib/nuggets/env/set_mixin.rb
101
+ - lib/nuggets/numeric/between.rb
102
+ - lib/nuggets/numeric/signum.rb
103
+ - lib/nuggets/numeric/limit.rb
104
+ - lib/nuggets/numeric/to_multiple.rb
105
+ - lib/nuggets/numeric/duration.rb
106
+ - lib/nuggets/enumerable/minmax.rb
107
+ - lib/nuggets/enumerable/agrep.rb
108
+ - lib/nuggets/enumerable/all_any_extended.rb
109
+ - lib/nuggets/util/log_parser/rails.rb
110
+ - lib/nuggets/util/log_parser/apache.rb
111
+ - lib/nuggets/util/i18n.rb
112
+ - lib/nuggets/util/cli.rb
113
+ - lib/nuggets/util/log_parser.rb
114
+ - lib/nuggets/util/pluggable.rb
115
+ - lib/nuggets/util/added_methods/init.rb
116
+ - lib/nuggets/util/content_type.rb
117
+ - lib/nuggets/util/added_methods.rb
118
+ - lib/nuggets/util/ruby.rb
119
+ - lib/nuggets/util/dotted_decimal.rb
120
+ - lib/nuggets/util/ansicolor2css.rb
77
121
  - lib/nuggets/integer/map_mixin.rb
78
- - lib/nuggets/integer/to_binary_s.rb
79
- - lib/nuggets/integer/length_mixin.rb
80
122
  - lib/nuggets/integer/length.rb
123
+ - lib/nuggets/integer/to_binary_s.rb
81
124
  - lib/nuggets/integer/map.rb
125
+ - lib/nuggets/integer/length_mixin.rb
82
126
  - lib/nuggets/integer/factorial.rb
83
- - lib/nuggets/tempfile/open.rb
84
- - lib/nuggets/string/word_wrap.rb
85
- - lib/nuggets/string/capitalize_first.rb
86
- - lib/nuggets/string/wc.rb
87
- - lib/nuggets/string/evaluate.rb
88
- - lib/nuggets/string/camelscore_mixin.rb
89
- - lib/nuggets/string/msub.rb
90
- - lib/nuggets/string/nsub.rb
91
- - lib/nuggets/string/xor.rb
92
- - lib/nuggets/string/camelscore.rb
93
- - lib/nuggets/string/wc_mixin.rb
94
- - lib/nuggets/string/case.rb
95
- - lib/nuggets/string/xor_mixin.rb
96
- - lib/nuggets/string/evaluate_mixin.rb
97
- - lib/nuggets/string/sub_with_md.rb
98
- - lib/nuggets/all.rb
99
- - lib/nuggets/array/correlation.rb
100
- - lib/nuggets/array/shuffle.rb
101
- - lib/nuggets/array/regression_mixin.rb
102
- - lib/nuggets/array/limit.rb
103
- - lib/nuggets/array/runiq.rb
104
- - lib/nuggets/array/variance.rb
105
- - lib/nuggets/array/histogram.rb
127
+ - lib/nuggets/array/combination.rb
106
128
  - lib/nuggets/array/standard_deviation_mixin.rb
129
+ - lib/nuggets/array/flatten_once.rb
130
+ - lib/nuggets/array/regression_mixin.rb
131
+ - lib/nuggets/array/mode.rb
132
+ - lib/nuggets/array/monotone.rb
107
133
  - lib/nuggets/array/median.rb
134
+ - lib/nuggets/array/mean.rb
135
+ - lib/nuggets/array/shuffle.rb
136
+ - lib/nuggets/array/mode_mixin.rb
137
+ - lib/nuggets/array/limit_mixin.rb
138
+ - lib/nuggets/array/runiq_mixin.rb
139
+ - lib/nuggets/array/histogram.rb
108
140
  - lib/nuggets/array/to_hash.rb
109
- - lib/nuggets/array/combination.rb
110
- - lib/nuggets/array/monotone.rb
111
- - lib/nuggets/array/mode.rb
112
- - lib/nuggets/array/variance_mixin.rb
141
+ - lib/nuggets/array/median_mixin.rb
142
+ - lib/nuggets/array/in_order.rb
143
+ - lib/nuggets/array/correlation.rb
144
+ - lib/nuggets/array/correlation_mixin.rb
113
145
  - lib/nuggets/array/rand.rb
146
+ - lib/nuggets/array/limit.rb
147
+ - lib/nuggets/array/variance_mixin.rb
114
148
  - lib/nuggets/array/standard_deviation.rb
115
- - lib/nuggets/array/correlation_mixin.rb
116
- - lib/nuggets/array/only.rb
117
- - lib/nuggets/array/mean_mixin.rb
118
149
  - lib/nuggets/array/regression.rb
119
- - lib/nuggets/array/mode_mixin.rb
120
- - lib/nuggets/array/limit_mixin.rb
121
- - lib/nuggets/array/flatten_once.rb
122
- - lib/nuggets/array/in_order.rb
123
- - lib/nuggets/array/mean.rb
124
- - lib/nuggets/array/median_mixin.rb
125
- - lib/nuggets/array/histogram_mixin.rb
150
+ - lib/nuggets/array/only.rb
126
151
  - lib/nuggets/array/format.rb
127
- - lib/nuggets/array/runiq_mixin.rb
128
- - lib/nuggets/numeric/limit.rb
129
- - lib/nuggets/numeric/between.rb
130
- - lib/nuggets/numeric/duration.rb
131
- - lib/nuggets/numeric/to_multiple.rb
132
- - lib/nuggets/numeric/signum.rb
133
- - lib/nuggets/all_mixins.rb
134
- - lib/nuggets/util/ansicolor2css.rb
135
- - lib/nuggets/util/content_type.rb
136
- - lib/nuggets/util/dotted_decimal.rb
137
- - lib/nuggets/util/ruby.rb
138
- - lib/nuggets/util/added_methods.rb
139
- - lib/nuggets/util/cli.rb
140
- - lib/nuggets/util/i18n.rb
141
- - lib/nuggets/util/added_methods/init.rb
142
- - lib/nuggets/util/pluggable.rb
143
- - lib/nuggets/proc/bind_mixin.rb
144
- - lib/nuggets/proc/bind.rb
145
- - lib/nuggets/statistics.rb
146
- - lib/nuggets/io/redirect_mixin.rb
147
- - lib/nuggets/io/modes.rb
148
- - lib/nuggets/io/interact.rb
149
- - lib/nuggets/io/redirect.rb
150
- - lib/nuggets/io/null_mixin.rb
151
- - lib/nuggets/io/null.rb
152
- - lib/nuggets/io/agrep.rb
153
- - lib/nuggets/io/interact_mixin.rb
154
- - lib/nuggets/uri/content_type.rb
155
- - lib/nuggets/uri/redirect_mixin.rb
156
- - lib/nuggets/uri/redirect.rb
157
- - lib/nuggets/uri/exist_mixin.rb
158
- - lib/nuggets/uri/content_type_mixin.rb
159
- - lib/nuggets/uri/exist.rb
160
- - lib/nuggets/enumerable/all_any_extended.rb
161
- - lib/nuggets/enumerable/minmax.rb
162
- - lib/nuggets/enumerable/agrep.rb
163
- - ChangeLog
152
+ - lib/nuggets/array/histogram_mixin.rb
153
+ - lib/nuggets/array/runiq.rb
154
+ - lib/nuggets/array/mean_mixin.rb
155
+ - lib/nuggets/array/variance.rb
156
+ - lib/nuggets.rb
164
157
  - COPYING
165
- - README
158
+ - ChangeLog
166
159
  - Rakefile
167
- - spec/nuggets/range/quantile_spec.rb
168
- - spec/nuggets/hash/nest_spec.rb
169
- - spec/nuggets/hash/unroll_spec.rb
170
- - spec/nuggets/hash/deep_merge_spec.rb
171
- - spec/nuggets/env/set_spec.rb
172
- - spec/nuggets/env/user_home_spec.rb
173
- - spec/nuggets/env/user_encoding_spec.rb
174
- - spec/nuggets/object/silence_spec.rb
175
- - spec/nuggets/object/singleton_class_spec.rb
176
- - spec/nuggets/object/msend_spec.rb
160
+ - README
161
+ - spec/spec_helper.rb
162
+ - spec/nuggets/proc/bind_spec.rb
177
163
  - spec/nuggets/object/blank_spec.rb
178
164
  - spec/nuggets/object/boolean_spec.rb
165
+ - spec/nuggets/object/msend_spec.rb
166
+ - spec/nuggets/object/silence_spec.rb
167
+ - spec/nuggets/object/singleton_class_spec.rb
168
+ - spec/nuggets/range/quantile_spec.rb
169
+ - spec/nuggets/string/evaluate_spec.rb
170
+ - spec/nuggets/string/xor_spec.rb
171
+ - spec/nuggets/string/wc_spec.rb
172
+ - spec/nuggets/string/camelscore_spec.rb
173
+ - spec/nuggets/file/replace_spec.rb
179
174
  - spec/nuggets/file/ext_spec.rb
180
175
  - spec/nuggets/file/sub_spec.rb
181
- - spec/nuggets/file/replace_spec.rb
182
176
  - spec/nuggets/file/which_spec.rb
177
+ - spec/nuggets/hash/nest_spec.rb
178
+ - spec/nuggets/hash/deep_merge_spec.rb
179
+ - spec/nuggets/hash/unroll_spec.rb
180
+ - spec/nuggets/uri/exist_spec.rb
181
+ - spec/nuggets/uri/content_type_spec.rb
182
+ - spec/nuggets/env/user_home_spec.rb
183
+ - spec/nuggets/env/user_encoding_spec.rb
184
+ - spec/nuggets/env/set_spec.rb
183
185
  - spec/nuggets/integer/map_spec.rb
184
186
  - spec/nuggets/integer/length_spec.rb
185
- - spec/nuggets/string/evaluate_spec.rb
186
- - spec/nuggets/string/camelscore_spec.rb
187
- - spec/nuggets/string/xor_spec.rb
188
- - spec/nuggets/string/wc_spec.rb
189
187
  - spec/nuggets/array/regression_spec.rb
188
+ - spec/nuggets/array/histogram_spec.rb
189
+ - spec/nuggets/array/standard_deviation_spec.rb
190
190
  - spec/nuggets/array/limit_spec.rb
191
+ - spec/nuggets/array/runiq_spec.rb
191
192
  - spec/nuggets/array/correlation_spec.rb
192
- - spec/nuggets/array/standard_deviation_spec.rb
193
- - spec/nuggets/array/mode_spec.rb
194
- - spec/nuggets/array/histogram_spec.rb
195
- - spec/nuggets/array/median_spec.rb
196
193
  - spec/nuggets/array/mean_spec.rb
194
+ - spec/nuggets/array/median_spec.rb
195
+ - spec/nuggets/array/mode_spec.rb
197
196
  - spec/nuggets/array/variance_spec.rb
198
- - spec/nuggets/array/runiq_spec.rb
199
- - spec/nuggets/proc/bind_spec.rb
200
- - spec/nuggets/uri/content_type_spec.rb
201
- - spec/nuggets/uri/exist_spec.rb
202
- - spec/spec_helper.rb
203
197
  - .rspec
204
198
  homepage: http://prometheus.rubyforge.org/ruby-nuggets
205
199
  licenses: []
206
-
207
200
  post_install_message:
208
- rdoc_options:
209
- - --line-numbers
210
- - --main
211
- - README
212
- - --all
201
+ rdoc_options:
213
202
  - --charset
214
203
  - UTF-8
204
+ - --line-numbers
205
+ - --all
215
206
  - --title
216
- - ruby-nuggets Application documentation (v0.8.7)
217
- require_paths:
207
+ - ruby-nuggets Application documentation (v0.8.8)
208
+ - --main
209
+ - README
210
+ require_paths:
218
211
  - lib
219
- required_ruby_version: !ruby/object:Gem::Requirement
212
+ required_ruby_version: !ruby/object:Gem::Requirement
220
213
  none: false
221
- requirements:
222
- - - ">="
223
- - !ruby/object:Gem::Version
224
- hash: 3
225
- segments:
226
- - 0
227
- version: "0"
228
- required_rubygems_version: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ! '>='
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ required_rubygems_version: !ruby/object:Gem::Requirement
229
219
  none: false
230
- requirements:
231
- - - ">="
232
- - !ruby/object:Gem::Version
233
- hash: 3
234
- segments:
235
- - 0
236
- version: "0"
220
+ requirements:
221
+ - - ! '>='
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
237
224
  requirements: []
238
-
239
225
  rubyforge_project: prometheus
240
- rubygems_version: 1.8.23
226
+ rubygems_version: 1.8.24
241
227
  signing_key:
242
228
  specification_version: 3
243
229
  summary: Some extensions to the Ruby programming language.
244
230
  test_files: []
245
-