ruby-nuggets 0.9.9 → 1.0.0

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 (244) hide show
  1. checksums.yaml +4 -4
  2. metadata +20 -324
  3. data/COPYING +0 -663
  4. data/ChangeLog +0 -7
  5. data/README +0 -62
  6. data/Rakefile +0 -47
  7. data/lib/nuggets.rb +0 -73
  8. data/lib/nuggets/all.rb +0 -36
  9. data/lib/nuggets/all_mixins.rb +0 -34
  10. data/lib/nuggets/ansicolor2css.rb +0 -125
  11. data/lib/nuggets/argv/option.rb +0 -3
  12. data/lib/nuggets/argv/option_mixin.rb +0 -85
  13. data/lib/nuggets/array/boost.rb +0 -5
  14. data/lib/nuggets/array/boost_mixin.rb +0 -78
  15. data/lib/nuggets/array/combination.rb +0 -63
  16. data/lib/nuggets/array/correlation.rb +0 -5
  17. data/lib/nuggets/array/correlation_mixin.rb +0 -64
  18. data/lib/nuggets/array/flatten_once.rb +0 -57
  19. data/lib/nuggets/array/flush.rb +0 -5
  20. data/lib/nuggets/array/flush_mixin.rb +0 -47
  21. data/lib/nuggets/array/format.rb +0 -66
  22. data/lib/nuggets/array/hashify.rb +0 -5
  23. data/lib/nuggets/array/hashify_mixin.rb +0 -48
  24. data/lib/nuggets/array/histogram.rb +0 -5
  25. data/lib/nuggets/array/histogram_mixin.rb +0 -170
  26. data/lib/nuggets/array/in_order.rb +0 -51
  27. data/lib/nuggets/array/limit.rb +0 -5
  28. data/lib/nuggets/array/limit_mixin.rb +0 -57
  29. data/lib/nuggets/array/mean.rb +0 -5
  30. data/lib/nuggets/array/mean_mixin.rb +0 -203
  31. data/lib/nuggets/array/median.rb +0 -5
  32. data/lib/nuggets/array/median_mixin.rb +0 -74
  33. data/lib/nuggets/array/mode.rb +0 -5
  34. data/lib/nuggets/array/mode_mixin.rb +0 -70
  35. data/lib/nuggets/array/monotone.rb +0 -84
  36. data/lib/nuggets/array/only.rb +0 -42
  37. data/lib/nuggets/array/rand.rb +0 -45
  38. data/lib/nuggets/array/regression.rb +0 -5
  39. data/lib/nuggets/array/regression_mixin.rb +0 -150
  40. data/lib/nuggets/array/runiq.rb +0 -5
  41. data/lib/nuggets/array/runiq_mixin.rb +0 -53
  42. data/lib/nuggets/array/shuffle.rb +0 -133
  43. data/lib/nuggets/array/standard_deviation.rb +0 -5
  44. data/lib/nuggets/array/standard_deviation_mixin.rb +0 -51
  45. data/lib/nuggets/array/to_hash.rb +0 -65
  46. data/lib/nuggets/array/variance.rb +0 -5
  47. data/lib/nuggets/array/variance_mixin.rb +0 -82
  48. data/lib/nuggets/cli.rb +0 -8
  49. data/lib/nuggets/content_type.rb +0 -98
  50. data/lib/nuggets/dotted_decimal.rb +0 -60
  51. data/lib/nuggets/enumerable/agrep.rb +0 -80
  52. data/lib/nuggets/enumerable/all_any_extended.rb +0 -67
  53. data/lib/nuggets/enumerable/minmax.rb +0 -103
  54. data/lib/nuggets/env/set.rb +0 -3
  55. data/lib/nuggets/env/set_mixin.rb +0 -68
  56. data/lib/nuggets/env/user_encoding.rb +0 -3
  57. data/lib/nuggets/env/user_encoding_mixin.rb +0 -55
  58. data/lib/nuggets/env/user_home.rb +0 -3
  59. data/lib/nuggets/env/user_home_mixin.rb +0 -57
  60. data/lib/nuggets/file/ext.rb +0 -5
  61. data/lib/nuggets/file/ext_mixin.rb +0 -88
  62. data/lib/nuggets/file/replace.rb +0 -5
  63. data/lib/nuggets/file/replace_mixin.rb +0 -56
  64. data/lib/nuggets/file/sub.rb +0 -5
  65. data/lib/nuggets/file/sub_mixin.rb +0 -96
  66. data/lib/nuggets/file/which.rb +0 -5
  67. data/lib/nuggets/file/which_mixin.rb +0 -73
  68. data/lib/nuggets/hash/at.rb +0 -69
  69. data/lib/nuggets/hash/deep_fetch.rb +0 -5
  70. data/lib/nuggets/hash/deep_fetch_mixin.rb +0 -75
  71. data/lib/nuggets/hash/deep_merge.rb +0 -5
  72. data/lib/nuggets/hash/deep_merge_mixin.rb +0 -54
  73. data/lib/nuggets/hash/idmap.rb +0 -5
  74. data/lib/nuggets/hash/idmap_mixin.rb +0 -42
  75. data/lib/nuggets/hash/in_order.rb +0 -44
  76. data/lib/nuggets/hash/insert.rb +0 -54
  77. data/lib/nuggets/hash/nest.rb +0 -5
  78. data/lib/nuggets/hash/nest_mixin.rb +0 -79
  79. data/lib/nuggets/hash/only.rb +0 -53
  80. data/lib/nuggets/hash/seen.rb +0 -5
  81. data/lib/nuggets/hash/seen_mixin.rb +0 -59
  82. data/lib/nuggets/hash/unroll.rb +0 -5
  83. data/lib/nuggets/hash/unroll_mixin.rb +0 -89
  84. data/lib/nuggets/hash/zip.rb +0 -5
  85. data/lib/nuggets/hash/zip_mixin.rb +0 -160
  86. data/lib/nuggets/i18n.rb +0 -156
  87. data/lib/nuggets/integer/factorial.rb +0 -57
  88. data/lib/nuggets/integer/length.rb +0 -5
  89. data/lib/nuggets/integer/length_mixin.rb +0 -50
  90. data/lib/nuggets/integer/map.rb +0 -5
  91. data/lib/nuggets/integer/map_mixin.rb +0 -43
  92. data/lib/nuggets/integer/to_binary_s.rb +0 -39
  93. data/lib/nuggets/io/agrep.rb +0 -44
  94. data/lib/nuggets/io/interact.rb +0 -5
  95. data/lib/nuggets/io/interact_mixin.rb +0 -160
  96. data/lib/nuggets/io/modes.rb +0 -122
  97. data/lib/nuggets/io/null.rb +0 -5
  98. data/lib/nuggets/io/null_mixin.rb +0 -41
  99. data/lib/nuggets/io/redirect.rb +0 -5
  100. data/lib/nuggets/io/redirect_mixin.rb +0 -51
  101. data/lib/nuggets/lazy_attr.rb +0 -45
  102. data/lib/nuggets/log_parser.rb +0 -71
  103. data/lib/nuggets/log_parser/apache.rb +0 -102
  104. data/lib/nuggets/log_parser/rails.rb +0 -220
  105. data/lib/nuggets/lsi.rb +0 -8
  106. data/lib/nuggets/midos.rb +0 -8
  107. data/lib/nuggets/mysql.rb +0 -8
  108. data/lib/nuggets/net/success.rb +0 -60
  109. data/lib/nuggets/numeric/between.rb +0 -2
  110. data/lib/nuggets/numeric/duration.rb +0 -101
  111. data/lib/nuggets/numeric/limit.rb +0 -63
  112. data/lib/nuggets/numeric/signum.rb +0 -53
  113. data/lib/nuggets/numeric/to_multiple.rb +0 -62
  114. data/lib/nuggets/object/blank.rb +0 -20
  115. data/lib/nuggets/object/blank_mixin.rb +0 -100
  116. data/lib/nuggets/object/boolean.rb +0 -5
  117. data/lib/nuggets/object/boolean_mixin.rb +0 -62
  118. data/lib/nuggets/object/eigenclass.rb +0 -2
  119. data/lib/nuggets/object/ghost_class.rb +0 -2
  120. data/lib/nuggets/object/metaclass.rb +0 -2
  121. data/lib/nuggets/object/msend.rb +0 -5
  122. data/lib/nuggets/object/msend_mixin.rb +0 -44
  123. data/lib/nuggets/object/silence.rb +0 -5
  124. data/lib/nuggets/object/silence_mixin.rb +0 -45
  125. data/lib/nuggets/object/singleton_class.rb +0 -5
  126. data/lib/nuggets/object/singleton_class_mixin.rb +0 -96
  127. data/lib/nuggets/object/uniclass.rb +0 -2
  128. data/lib/nuggets/object/virtual_class.rb +0 -2
  129. data/lib/nuggets/pluggable.rb +0 -92
  130. data/lib/nuggets/proc/bind.rb +0 -5
  131. data/lib/nuggets/proc/bind_mixin.rb +0 -52
  132. data/lib/nuggets/range/quantile.rb +0 -5
  133. data/lib/nuggets/range/quantile_mixin.rb +0 -43
  134. data/lib/nuggets/rdf/compression.rb +0 -6
  135. data/lib/nuggets/rdf/prefix.rb +0 -6
  136. data/lib/nuggets/rdf/turtle.rb +0 -8
  137. data/lib/nuggets/rdf/turtle/reader.rb +0 -6
  138. data/lib/nuggets/rdf/uri.rb +0 -6
  139. data/lib/nuggets/ruby.rb +0 -236
  140. data/lib/nuggets/statistics.rb +0 -12
  141. data/lib/nuggets/statistics_mixins.rb +0 -12
  142. data/lib/nuggets/string/camelscore.rb +0 -5
  143. data/lib/nuggets/string/camelscore_mixin.rb +0 -117
  144. data/lib/nuggets/string/capitalize_first.rb +0 -47
  145. data/lib/nuggets/string/case.rb +0 -82
  146. data/lib/nuggets/string/evaluate.rb +0 -5
  147. data/lib/nuggets/string/evaluate_mixin.rb +0 -48
  148. data/lib/nuggets/string/msub.rb +0 -85
  149. data/lib/nuggets/string/nsub.rb +0 -66
  150. data/lib/nuggets/string/sub_with_md.rb +0 -112
  151. data/lib/nuggets/string/wc.rb +0 -5
  152. data/lib/nuggets/string/wc_mixin.rb +0 -96
  153. data/lib/nuggets/string/word_wrap.rb +0 -77
  154. data/lib/nuggets/string/xor.rb +0 -5
  155. data/lib/nuggets/string/xor_mixin.rb +0 -60
  156. data/lib/nuggets/tempfile/open.rb +0 -58
  157. data/lib/nuggets/uri/content_type.rb +0 -5
  158. data/lib/nuggets/uri/content_type_mixin.rb +0 -48
  159. data/lib/nuggets/uri/exist.rb +0 -5
  160. data/lib/nuggets/uri/exist_mixin.rb +0 -57
  161. data/lib/nuggets/uri/redirect.rb +0 -5
  162. data/lib/nuggets/uri/redirect_mixin.rb +0 -102
  163. data/lib/nuggets/util/ansicolor2css.rb +0 -4
  164. data/lib/nuggets/util/cli.rb +0 -4
  165. data/lib/nuggets/util/content_type.rb +0 -4
  166. data/lib/nuggets/util/dotted_decimal.rb +0 -3
  167. data/lib/nuggets/util/i18n.rb +0 -4
  168. data/lib/nuggets/util/lazy_attr.rb +0 -4
  169. data/lib/nuggets/util/log_parser.rb +0 -4
  170. data/lib/nuggets/util/log_parser/apache.rb +0 -4
  171. data/lib/nuggets/util/log_parser/rails.rb +0 -4
  172. data/lib/nuggets/util/midos.rb +0 -4
  173. data/lib/nuggets/util/mysql.rb +0 -4
  174. data/lib/nuggets/util/pluggable.rb +0 -4
  175. data/lib/nuggets/util/ruby.rb +0 -4
  176. data/lib/nuggets/version.rb +0 -27
  177. data/spec/nuggets/array/boost_spec.rb +0 -50
  178. data/spec/nuggets/array/combination_spec.rb +0 -25
  179. data/spec/nuggets/array/correlation_spec.rb +0 -81
  180. data/spec/nuggets/array/flatten_once_spec.rb +0 -16
  181. data/spec/nuggets/array/flush_spec.rb +0 -43
  182. data/spec/nuggets/array/format_spec.rb +0 -52
  183. data/spec/nuggets/array/hashify_spec.rb +0 -41
  184. data/spec/nuggets/array/histogram_spec.rb +0 -87
  185. data/spec/nuggets/array/in_order_spec.rb +0 -13
  186. data/spec/nuggets/array/limit_spec.rb +0 -62
  187. data/spec/nuggets/array/mean_spec.rb +0 -203
  188. data/spec/nuggets/array/median_spec.rb +0 -77
  189. data/spec/nuggets/array/mode_spec.rb +0 -57
  190. data/spec/nuggets/array/monotone_spec.rb +0 -30
  191. data/spec/nuggets/array/only_spec.rb +0 -26
  192. data/spec/nuggets/array/regression_spec.rb +0 -54
  193. data/spec/nuggets/array/runiq_spec.rb +0 -25
  194. data/spec/nuggets/array/standard_deviation_spec.rb +0 -33
  195. data/spec/nuggets/array/to_hash_spec.rb +0 -28
  196. data/spec/nuggets/array/variance_spec.rb +0 -106
  197. data/spec/nuggets/dotted_decimal_spec.rb +0 -27
  198. data/spec/nuggets/enumerable/all_any_extended_spec.rb +0 -31
  199. data/spec/nuggets/enumerable/minmax_spec.rb +0 -21
  200. data/spec/nuggets/env/set_spec.rb +0 -29
  201. data/spec/nuggets/env/user_encoding_spec.rb +0 -38
  202. data/spec/nuggets/env/user_home_spec.rb +0 -42
  203. data/spec/nuggets/file/ext_spec.rb +0 -38
  204. data/spec/nuggets/file/replace_spec.rb +0 -95
  205. data/spec/nuggets/file/sub_spec.rb +0 -149
  206. data/spec/nuggets/file/which_spec.rb +0 -22
  207. data/spec/nuggets/hash/at_spec.rb +0 -19
  208. data/spec/nuggets/hash/deep_fetch_spec.rb +0 -159
  209. data/spec/nuggets/hash/deep_merge_spec.rb +0 -78
  210. data/spec/nuggets/hash/in_order_spec.rb +0 -12
  211. data/spec/nuggets/hash/insert_spec.rb +0 -13
  212. data/spec/nuggets/hash/nest_spec.rb +0 -102
  213. data/spec/nuggets/hash/only_spec.rb +0 -29
  214. data/spec/nuggets/hash/seen_spec.rb +0 -36
  215. data/spec/nuggets/hash/unroll_spec.rb +0 -68
  216. data/spec/nuggets/i18n_spec.rb +0 -13
  217. data/spec/nuggets/integer/factorial_spec.rb +0 -10
  218. data/spec/nuggets/integer/length_spec.rb +0 -18
  219. data/spec/nuggets/integer/map_spec.rb +0 -19
  220. data/spec/nuggets/integer/to_binary_s_spec.rb +0 -19
  221. data/spec/nuggets/numeric/duration_spec.rb +0 -25
  222. data/spec/nuggets/numeric/limit_spec.rb +0 -16
  223. data/spec/nuggets/numeric/signum_spec.rb +0 -16
  224. data/spec/nuggets/numeric/to_multiple_spec.rb +0 -16
  225. data/spec/nuggets/object/blank_spec.rb +0 -34
  226. data/spec/nuggets/object/boolean_spec.rb +0 -23
  227. data/spec/nuggets/object/msend_spec.rb +0 -25
  228. data/spec/nuggets/object/silence_spec.rb +0 -36
  229. data/spec/nuggets/object/singleton_class_spec.rb +0 -51
  230. data/spec/nuggets/proc/bind_spec.rb +0 -28
  231. data/spec/nuggets/range/quantile_spec.rb +0 -33
  232. data/spec/nuggets/string/camelscore_spec.rb +0 -114
  233. data/spec/nuggets/string/capitalize_first_spec.rb +0 -13
  234. data/spec/nuggets/string/case_spec.rb +0 -31
  235. data/spec/nuggets/string/evaluate_spec.rb +0 -24
  236. data/spec/nuggets/string/msub_spec.rb +0 -20
  237. data/spec/nuggets/string/nsub_spec.rb +0 -13
  238. data/spec/nuggets/string/sub_with_md_spec.rb +0 -25
  239. data/spec/nuggets/string/wc_spec.rb +0 -73
  240. data/spec/nuggets/string/word_wrap_spec.rb +0 -81
  241. data/spec/nuggets/string/xor_spec.rb +0 -57
  242. data/spec/nuggets/uri/content_type_spec.rb +0 -42
  243. data/spec/nuggets/uri/exist_spec.rb +0 -49
  244. data/spec/spec_helper.rb +0 -36
@@ -1,4 +0,0 @@
1
- require 'nuggets/ansicolor2css'
2
- module Util; ANSIColor2CSS = ::Nuggets::ANSIColor2CSS; end
3
-
4
- warn "#{__FILE__}: Util::ANSIColor2CSS is deprecated, use Nuggets::ANSIColor2CSS instead." unless ENV['NUGGETS_DEPRECATED_UTIL_ANSICOLOR2CSS']
@@ -1,4 +0,0 @@
1
- require 'nuggets/cli'
2
- module Util; CLI = ::Nuggets::CLI; end
3
-
4
- warn "#{__FILE__}: Util::CLI is deprecated, use Nuggets::CLI instead." unless ENV['NUGGETS_DEPRECATED_UTIL_CLI']
@@ -1,4 +0,0 @@
1
- require 'nuggets/content_type'
2
- module Util; ContentType = ::Nuggets::ContentType; end
3
-
4
- warn "#{__FILE__}: Util::ContentType is deprecated, use Nuggets::ContentType instead." unless ENV['NUGGETS_DEPRECATED_UTIL_CONTENT_TYPE']
@@ -1,3 +0,0 @@
1
- require 'nuggets/dotted_decimal'
2
-
3
- warn "#{__FILE__}: 'nuggets/util/dotted_decimal' is deprecated, use 'nuggets/dotted_decimal' instead." unless ENV['NUGGETS_DEPRECATED_DOTTED_DECIMAL']
@@ -1,4 +0,0 @@
1
- require 'nuggets/i18n'
2
- module Util; I18n = ::Nuggets::I18n; end
3
-
4
- warn "#{__FILE__}: Util::I18n is deprecated, use Nuggets::I18n instead." unless ENV['NUGGETS_DEPRECATED_UTIL_I18N']
@@ -1,4 +0,0 @@
1
- require 'nuggets/lazy_attr'
2
- module Util; LazyAttr = ::Nuggets::LazyAttr; end
3
-
4
- warn "#{__FILE__}: Util::LazyAttr is deprecated, use Nuggets::LazyAttr instead." unless ENV['NUGGETS_DEPRECATED_UTIL_LAZY_ATTR']
@@ -1,4 +0,0 @@
1
- require 'nuggets/log_parser'
2
- module Util; LogParser = ::Nuggets::LogParser; end
3
-
4
- warn "#{__FILE__}: Util::LogParser is deprecated, use Nuggets::LogParser instead." unless ENV['NUGGETS_DEPRECATED_UTIL_LOG_PARSER']
@@ -1,4 +0,0 @@
1
- require 'nuggets/log_parser/apache'
2
- module Util; LogParser = ::Nuggets::LogParser; end
3
-
4
- warn "#{__FILE__}: Util::LogParser::Apache is deprecated, use Nuggets::LogParser::Apache instead." unless ENV['NUGGETS_DEPRECATED_UTIL_LOG_PARSER_APACHE']
@@ -1,4 +0,0 @@
1
- require 'nuggets/log_parser/rails'
2
- module Util; LogParser = ::Nuggets::LogParser; end
3
-
4
- warn "#{__FILE__}: Util::LogParser::Rails is deprecated, use Nuggets::LogParser::Rails instead." unless ENV['NUGGETS_DEPRECATED_UTIL_LOG_PARSER_RAILS']
@@ -1,4 +0,0 @@
1
- require 'nuggets/midos'
2
- module Util; Midos = ::Nuggets::Midos; end
3
-
4
- warn "#{__FILE__}: Util::Midos is deprecated, use Nuggets::Midos instead." unless ENV['NUGGETS_DEPRECATED_UTIL_MIDOS']
@@ -1,4 +0,0 @@
1
- require 'nuggets/mysql'
2
- module Util; MySQL = ::Nuggets::MySQL; end
3
-
4
- warn "#{__FILE__}: Util::MySQL is deprecated, use Nuggets::MySQL instead." unless ENV['NUGGETS_DEPRECATED_UTIL_MYSQL']
@@ -1,4 +0,0 @@
1
- require 'nuggets/pluggable'
2
- module Util; Pluggable = ::Nuggets::Pluggable; end
3
-
4
- warn "#{__FILE__}: Util::Pluggable is deprecated, use Nuggets::Pluggable instead." unless ENV['NUGGETS_DEPRECATED_UTIL_PLUGGABLE']
@@ -1,4 +0,0 @@
1
- require 'nuggets/ruby'
2
- module Util; Ruby = ::Nuggets::Ruby; end
3
-
4
- warn "#{__FILE__}: Util::Ruby is deprecated, use Nuggets::Ruby instead." unless ENV['NUGGETS_DEPRECATED_UTIL_RUBY']
@@ -1,27 +0,0 @@
1
- module Nuggets
2
-
3
- module Version
4
-
5
- MAJOR = 0
6
- MINOR = 9
7
- TINY = 9
8
-
9
- class << self
10
-
11
- # Returns array representation.
12
- def to_a
13
- [MAJOR, MINOR, TINY]
14
- end
15
-
16
- # Short-cut for version string.
17
- def to_s
18
- to_a.join('.')
19
- end
20
-
21
- end
22
-
23
- end
24
-
25
- VERSION = Version.to_s
26
-
27
- end
@@ -1,50 +0,0 @@
1
- require 'nuggets/array/boost'
2
-
3
- describe_extended Array, Nuggets::Array::BoostMixin do
4
-
5
- example {
6
- lambda { [].boost_factor([]) }.should raise_error(NoMethodError)
7
- }
8
-
9
- example {
10
- lambda { [1].boost_factor([]) }.should raise_error(NoMethodError)
11
- }
12
-
13
- example {
14
- lambda { [].boost_factor([1]) }.should raise_error(TypeError)
15
- }
16
-
17
- example {
18
- a, b = [0].boof([0]), Float::NAN
19
-
20
- a.class.should == b.class
21
- a.to_s.should == b.to_s
22
- }
23
-
24
- example {
25
- 1.step(100, 10) { |i| [i].boof([0]).should == -1 }
26
- }
27
-
28
- example {
29
- 1.step(100, 10) { |i| [0].boof([i]).should == Float::INFINITY }
30
- }
31
-
32
- example {
33
- a, b = [1.5, 1.6, 1.4], [0.7, 0.8, 0.8]
34
-
35
- a.boof(b).should equal_float(-0.48888888888888893)
36
- a.boof(b, &:max).should equal_float(-0.5)
37
- a.boof(b, &:geomean).should equal_float(-0.4891270450709646)
38
- a.boof(b) { |x| x.inject(:-) }.should equal_float(-0.3999999999999999)
39
- }
40
-
41
- [
42
- [[1], [1], :mean],
43
- [[1], [1, 2, 3], :mean],
44
- [[1.5, 1.6, 1.4], [0.7, 0.8, 0.8], :mean],
45
- [[1.5, 1.6, 1.4], [0.7, 0.8, 0.8], :geomean]
46
- ].each { |a, b, m|
47
- example { a.boost(a.boof(b, &m)).send(m).should equal_float(b.send(m)) }
48
- }
49
-
50
- end
@@ -1,25 +0,0 @@
1
- require 'nuggets/array/combination'
2
-
3
- describe Array, 'combination' do
4
-
5
- let(:a) { %w[a b c d] }
6
-
7
- example {
8
- r = [%w[a b c], %w[a b d], %w[a c d], %w[b c d]]
9
-
10
- a.comb(3).should == r
11
- lambda { |b| a.comb(3, &b) }.should yield_successive_args(*r)
12
- }
13
-
14
- example {
15
- a.comb(4, 2, 4).should == [%w[a b c d], %w[a b], %w[a c], %w[a d], %w[b c], %w[b d], %w[c d], %w[a b c d]]
16
- }
17
-
18
- example {
19
- r = [%w[a b c d], %w[a b c], %w[a b d], %w[a c d], %w[b c d], %w[a b], %w[a c], %w[a d], %w[b c], %w[b d], %w[c d], %w[a], %w[b], %w[c], %w[d], []]
20
-
21
- a.comb.should == r
22
- lambda { |b| a.comb(&b) }.should yield_successive_args(*r)
23
- }
24
-
25
- end
@@ -1,81 +0,0 @@
1
- require 'nuggets/array/correlation'
2
-
3
- describe_extended Array, Nuggets::Array::CorrelationMixin do
4
-
5
- example do
6
- [].correlation_coefficient.should == 0.0
7
- end
8
-
9
- example do
10
- [1].correlation_coefficient.should == 1.0
11
- end
12
-
13
- example do
14
- [1, 1, 1].correlation_coefficient.should == 1.0
15
- end
16
-
17
- example do
18
- [1, 2, 3].correlation_coefficient.should == 1.0
19
- end
20
-
21
- example do
22
- [-1, -2, -3].correlation_coefficient.should == -1.0
23
- end
24
-
25
- example do
26
- [1, 1.5, 2].correlation_coefficient.should == 1.0
27
- end
28
-
29
- example do
30
- [3, 2, 1].correlation_coefficient.should == -1.0
31
- end
32
-
33
- example do
34
- [-3, -2, -1].correlation_coefficient.should == -[3, 2, 1].correlation_coefficient
35
- end
36
-
37
- example do
38
- [1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].correlation_coefficient.should equal_float(0.478471417102228)
39
- end
40
-
41
- example do
42
- [[1, 1]].correlation_coefficient.should == 1.0
43
- end
44
-
45
- example do
46
- [[1, 1], [1, 1], [1, 1]].correlation_coefficient.should == 1.0
47
- end
48
-
49
- example do
50
- [[-1, 1], [-1, 1], [-1, 1]].correlation_coefficient.should == 1.0
51
- end
52
-
53
- example do
54
- [[1, -1], [1, -1], [1, -1]].correlation_coefficient.should == 1.0
55
- end
56
-
57
- example do
58
- [[1, 1], [1, 2], [1, 3]].correlation_coefficient.should == 1.0
59
- end
60
-
61
- example do
62
- [[1, 1], [2, 1], [3, 1]].correlation_coefficient.should == 1.0
63
- end
64
-
65
- example do
66
- [[-1, 1], [-2, 1], [-3, 1]].correlation_coefficient.should == 1.0
67
- end
68
-
69
- example do
70
- [[1, -1], [2, -1], [3, -1]].correlation_coefficient.should == 1.0
71
- end
72
-
73
- example do
74
- [[3, 1], [2, 2], [1, 3]].correlation_coefficient.should == -1.0
75
- end
76
-
77
- example do
78
- [[-3, 3], [-2, 2], [-1, 1]].correlation_coefficient.should == -[[3, 3], [2, 2], [1, 1]].correlation_coefficient
79
- end
80
-
81
- end
@@ -1,16 +0,0 @@
1
- require 'nuggets/array/flatten_once'
2
-
3
- describe Array, 'flatten_once' do
4
-
5
- let(:a) { [1, 2, [3, 4, 5], 6, [7, [8, 9]]] }
6
-
7
- example {
8
- a.flatten_once.should == [1, 2, 3, 4, 5, 6, 7, [8, 9]]
9
- }
10
-
11
- example {
12
- a.flatten_once!
13
- a.should == [1, 2, 3, 4, 5, 6, 7, [8, 9]]
14
- }
15
-
16
- end
@@ -1,43 +0,0 @@
1
- require 'nuggets/array/flush'
2
-
3
- describe_extended Array, Nuggets::Array::FlushMixin do
4
-
5
- example do
6
- a = [1, 2, 3, 4]
7
- a.flush.should == [1, 2, 3, 4]
8
- a.should be_empty
9
- end
10
-
11
- example do
12
- a = [1, 2, 3, 4]
13
- a.flush.push(42).should == [1, 2, 3, 4, 42]
14
- a.should be_empty
15
- end
16
-
17
- example do
18
- a = [1, 2, 3, 4]
19
- a.flush { |b| b.should == [1, 2, 3, 4]; 42 }.should == 42
20
- a.should be_empty
21
- end
22
-
23
- example do
24
- a = [1, 2, 3, 4]
25
- a.flush { |b| b }.should be_empty
26
- a.should be_empty
27
- end
28
-
29
- example do
30
- a, c = [1, 2, 3, 4], nil
31
- a.flush { |b| c = b; c.should == [1, 2, 3, 4] }
32
- a.should be_empty
33
- c.should be_empty
34
- end
35
-
36
- example do
37
- a, c = [1, 2, 3, 4], nil
38
- a.flush { |b| c = b.dup; c.should == [1, 2, 3, 4] }
39
- a.should be_empty
40
- c.should == [1, 2, 3, 4]
41
- end
42
-
43
- end
@@ -1,52 +0,0 @@
1
- require 'nuggets/array/format'
2
-
3
- describe Array, 'format' do
4
-
5
- def self.test_format(*f)
6
- f.pop.each { |x, y| example { (f.dup % x).should == y } }
7
- end
8
-
9
- test_format('"%s"',
10
- [] => '',
11
- 'string' => '"string"',
12
- '' => ''
13
- )
14
-
15
- test_format('%s, (%s)', '%s', '(%s)',
16
- ['place', 'country'] => 'place, (country)',
17
- ['place', '' ] => 'place',
18
- ['', 'country'] => '(country)',
19
- ['', '' ] => ''
20
- )
21
-
22
- test_format('%s: %s (%s)', '%s: %s', '%s (%s)', '%s (%s)',
23
- ['author', 'title', 'year'] => 'author: title (year)',
24
- ['author', 'title', '' ] => 'author: title',
25
- ['author', '', 'year'] => 'author (year)',
26
- ['', 'title', 'year'] => 'title (year)',
27
- ['author', '' , '' ] => 'author',
28
- ['', 'title', '' ] => 'title',
29
- ['', '', 'year'] => 'year',
30
- ['', '', '' ] => ''
31
- )
32
-
33
- test_format({ :sep => ':' },
34
- ['1', '2', '3', '4'] => '1:2:3:4',
35
- ['1', '2', '3', '' ] => '1:2:3',
36
- ['1', '2', '', '4'] => '1:2:4',
37
- ['1', '', '3', '4'] => '1:3:4',
38
- ['', '2', '3', '4'] => '2:3:4',
39
- ['1', '2', '', '' ] => '1:2',
40
- ['1', '', '3', '' ] => '1:3',
41
- ['1', '', '', '4'] => '1:4',
42
- ['', '2', '3', '' ] => '2:3',
43
- ['', '2', '', '4'] => '2:4',
44
- ['', '', '3', '4'] => '3:4',
45
- ['1', '', '', '' ] => '1',
46
- ['', '2', '', '' ] => '2',
47
- ['', '', '3', '' ] => '3',
48
- ['', '', '', '4'] => '4',
49
- ['', '', '', '' ] => ''
50
- )
51
-
52
- end
@@ -1,41 +0,0 @@
1
- require 'nuggets/array/hashify'
2
-
3
- describe_extended Array, Nuggets::Array::HashifyMixin do
4
-
5
- example do
6
- hash = [1, 2, 3, 4].hashify
7
- hash.should == { 1 => 1, 2 => 2, 3 => 3, 4 => 4 }
8
- hash[42].should be_nil
9
- end
10
-
11
- example do
12
- [1, 2, 3, 4].hashify { |i| [i, i ** 2] }.should == { 1 => 1, 2 => 4, 3 => 9, 4 => 16 }
13
- end
14
-
15
- example do
16
- [1, 2, 3, 4].hashify { |i| [i ** 2, i] }.should == { 1 => 1, 4 => 2, 9 => 3, 16 => 4 }
17
- end
18
-
19
- example do
20
- lambda { [1, 2, 3, 4].hashify { |i| i } }.should raise_error(ArgumentError)
21
- end
22
-
23
- example do
24
- hash = [1, 2, 3, 4].hashify(0)
25
- hash.should == { 1 => 1, 2 => 2, 3 => 3, 4 => 4 }
26
- hash[42].should == 0
27
- end
28
-
29
- example do
30
- hash = [1, 2, 3, 4].hashify(lambda { |h, k| h[k] = [] })
31
- hash.should == { 1 => 1, 2 => 2, 3 => 3, 4 => 4 }
32
- hash[42].should == []
33
- end
34
-
35
- example do
36
- hash = [1, 2, 3, 4].hashify(4 => -1, 23 => 42)
37
- hash.should == { 1 => 1, 2 => 2, 3 => 3, 4 => 4, 23 => 42 }
38
- hash[42].should be_nil
39
- end
40
-
41
- end
@@ -1,87 +0,0 @@
1
- require 'nuggets/array/histogram'
2
-
3
- describe_extended Array, Nuggets::Array::HistogramMixin do
4
-
5
- example do
6
- [].histogram.should == {}
7
- end
8
-
9
- example do
10
- [1].histogram.should == { 1 => 1 }
11
- end
12
-
13
- example do
14
- [1, 1, 1].histogram.should == { 1 => 3 }
15
- end
16
-
17
- example do
18
- [1, 2, 2, 3].histogram.should == { 1 => 1, 2 => 2, 3 => 1 }
19
- end
20
-
21
- example do
22
- [3, 2, 2, 1].histogram.should == [1, 2, 2, 3].histogram
23
- end
24
-
25
- example do
26
- [1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].histogram.should == {
27
- -4 => 1, -2 => 1, 0 => 2, 1 => 4, 2 => 2, 3 => 2, 24 => 1
28
- }
29
- end
30
-
31
- example do
32
- %w[one two three three].histogram.should == { 'one' => 1, 'two' => 1, 'three' => 2 }
33
- end
34
-
35
- example do
36
- %w[three two one three].histogram.should == %w[one two three three].histogram
37
- end
38
-
39
- example do
40
- [1, 2, 2, 3, 4].histogram { |x| x * 2 }.should == { 2 => 1, 4 => 2, 6 => 1, 8 => 1 }
41
- end
42
-
43
- example do
44
- [1, 2, 3, 4].histogram { |x| x / 2 }.should == { 0 => 1, 1 => 2, 2 => 1 }
45
- end
46
-
47
- example do
48
- [].probability_mass_function.should == {}
49
- end
50
-
51
- example do
52
- [1].probability_mass_function.should == { 1 => 1 }
53
- end
54
-
55
- example do
56
- [1, 1, 1].probability_mass_function.should == { 1 => 1 }
57
- end
58
-
59
- example do
60
- [1, 2, 2, 3].probability_mass_function.should == { 1 => 0.25, 2 => 0.5, 3 => 0.25 }
61
- end
62
-
63
- example do
64
- [3, 2, 2, 1].probability_mass_function.should == [1, 2, 2, 3].probability_mass_function
65
- end
66
-
67
- example do
68
- [1, -2, 1, 2, 3, -4, 0, 3, 1, 2, 1, 0, 24].probability_mass_function.values.inject(:+).should equal_float(1.0)
69
- end
70
-
71
- example do
72
- %w[one two three three].probability_mass_function.should == { 'one' => 0.25, 'two' => 0.25, 'three' => 0.5 }
73
- end
74
-
75
- example do
76
- %w[three two one three].probability_mass_function.should == %w[one two three three].probability_mass_function
77
- end
78
-
79
- example do
80
- [1, 2, 2, 3, 4].probability_mass_function { |x| x * 2 }.should == { 2 => 0.2, 4 => 0.4, 6 => 0.2, 8 => 0.2 }
81
- end
82
-
83
- example do
84
- [1, 2, 3, 4].probability_mass_function { |x| x / 2 }.should == { 0 => 0.25, 1 => 0.5, 2 => 0.25 }
85
- end
86
-
87
- end