ruby-nuggets 0.9.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,38 +0,0 @@
1
- require 'nuggets/file/ext'
2
-
3
- describe_extended File, Nuggets::File::ExtMixin, true do
4
-
5
- [
6
- ['foo', nil, '.baz'],
7
- %w[foo.bar foo .baz],
8
- %w[foo.bar.baz foo.bar .baz]
9
- ].each { |path, new_path, new_ext|
10
- example {
11
- File.chomp_ext(path).should == (new_path || path)
12
- }
13
-
14
- example {
15
- File.chomp_ext!(_path = path.dup).should == new_path
16
- _path.should == (new_path || path)
17
- }
18
-
19
- example {
20
- File.sub_ext(path, new_ext).should == (new_path ? "#{new_path}#{new_ext}" : path)
21
- }
22
-
23
- example {
24
- File.sub_ext!(_path = path.dup, new_ext).should == (new_path && "#{new_path}#{new_ext}")
25
- _path.should == (new_path ? "#{new_path}#{new_ext}" : path)
26
- }
27
-
28
- example {
29
- File.set_ext(path, new_ext).should == "#{new_path || path}#{new_ext}"
30
- }
31
-
32
- example {
33
- File.set_ext!(_path = path.dup, new_ext).should == "#{new_path || path}#{new_ext}"
34
- _path.should == "#{new_path || path}#{new_ext}"
35
- }
36
- }
37
-
38
- end
@@ -1,95 +0,0 @@
1
- require 'nuggets/file/replace'
2
- require 'nuggets/tempfile/open'
3
-
4
- describe_extended File, Nuggets::File::ReplaceMixin, true do
5
-
6
- before :each do
7
- @txt = <<-EOT.freeze
8
- The fox went out on a chilly night
9
- Prayed for the moon to give him light
10
- For he had many a mile to go that night
11
- Before he reached the town o
12
- EOT
13
-
14
- @res1 = <<-EOT.freeze
15
- He ran til he came to a great big bin
16
- Where the ducks and the geese were kept therein
17
- Said, a couple of you are going to grease my chin
18
- Before I leave this town o
19
- EOT
20
-
21
- @res2 = <<-EOT.freeze
22
- THE FOX WENT OUT ON A CHILLY NIGHT
23
- PRAYED FOR THE MOON TO GIVE HIM LIGHT
24
- FOR HE HAD MANY A MILE TO GO THAT NIGHT
25
- BEFORE HE REACHED THE TOWN O
26
- EOT
27
- end
28
-
29
- example do
30
- tempfile { |path|
31
- res = File.replace(path) { @res1 }
32
- res.should == @res1
33
- File.read(path).should == @res1
34
- }
35
- end
36
-
37
- example do
38
- tempfile { |path|
39
- res = File.replace(path) { |content| content }
40
- res.should == @txt
41
- File.read(path).should == @txt
42
- }
43
- end
44
-
45
- example do
46
- tempfile { |path|
47
- res = File.replace(path) { |content| @res1 }
48
- res.should == @res1
49
- File.read(path).should == @res1
50
- }
51
- end
52
-
53
- example do
54
- tempfile { |path|
55
- res = File.replace(path) { |content| content.upcase }
56
- res.should == @res2
57
- File.read(path).should == @res2
58
- }
59
- end
60
-
61
- example do
62
- lambda { File.replace(tempfile) { @res1 } }.should raise_error(Errno::ENOENT)
63
- end
64
-
65
- example do
66
- begin
67
- res = File.replace(path = tempfile, true) { @res1 }
68
- res.should == @res1
69
- File.read(path).should == @res1
70
- ensure
71
- File.unlink(path) if path
72
- end
73
- end
74
-
75
- example do
76
- begin
77
- res = File.replace(path = tempfile, true) { |content| content }
78
- res.should == ''
79
- File.read(path).should == ''
80
- ensure
81
- File.unlink(path) if path
82
- end
83
- end
84
-
85
- example do
86
- begin
87
- res = File.replace(path = tempfile, true) { |content| @res1 }
88
- res.should == @res1
89
- File.read(path).should == @res1
90
- ensure
91
- File.unlink(path) if path
92
- end
93
- end
94
-
95
- end
@@ -1,149 +0,0 @@
1
- require 'nuggets/file/sub'
2
- require 'nuggets/tempfile/open'
3
-
4
- describe_extended File, Nuggets::File::SubMixin, true do
5
-
6
- before :each do
7
- @txt = <<-EOT.freeze
8
- The fox went out on a chilly night
9
- Prayed for the moon to give him light
10
- For he had many a mile to go that night
11
- Before he reached the town o
12
- EOT
13
-
14
- @res1 = <<-EOT.freeze
15
- The fox went out on a chilly nXIGHTX
16
- Prayed for the moon to give him light
17
- For he had many a mile to go that night
18
- Before he reached the town o
19
- EOT
20
-
21
- @res2 = <<-EOT.freeze
22
- The fox went out on a chilly nXIGHTX
23
- Prayed for the moon to give him lXIGHTX
24
- For he had many a mile to go that nXIGHTX
25
- Before he reached the town o
26
- EOT
27
- end
28
-
29
- example do
30
- tempfile { |path|
31
- res = File.sub(path, /ight/, 'XIGHTX')
32
- res.should == @res1
33
- @txt.should_not == @res1
34
- File.read(path).should == @txt
35
- }
36
- end
37
-
38
- example do
39
- tempfile { |path|
40
- res = File.sub(path, /XightX/, 'xIGHTx')
41
- res.should == @txt
42
- File.read(path).should == @txt
43
- }
44
- end
45
-
46
- example do
47
- tempfile { |path|
48
- res = File.sub(path, /ight/) { |m| "X#{m.upcase}X" }
49
- res.should == @res1
50
- @txt.should_not == @res1
51
- File.read(path).should == @txt
52
- }
53
- end
54
-
55
- example do
56
- tempfile { |path|
57
- res = File.sub(path, /XightX/) { |m| "x#{m.upcase}x" }
58
- res.should == @txt
59
- File.read(path).should == @txt
60
- }
61
- end
62
-
63
- example do
64
- tempfile { |path|
65
- res = File.gsub(path, /ight/, 'XIGHTX')
66
- res.should == @res2
67
- @txt.should_not == @res2
68
- File.read(path).should == @txt
69
- }
70
- end
71
-
72
- example do
73
- tempfile { |path|
74
- res = File.gsub(path, /ight/) { |m| "X#{m.upcase}X" }
75
- res.should == @res2
76
- @txt.should_not == @res2
77
- File.read(path).should == @txt
78
- }
79
- end
80
-
81
- example do
82
- tempfile { |path|
83
- res = File.sub!(path, /ight/, 'XIGHTX')
84
- res.should == @res1
85
- @txt.should_not == @res1
86
- File.read(path).should == @res1
87
- }
88
- end
89
-
90
- example do
91
- tempfile { |path|
92
- res = File.sub!(path, /XightX/, 'xIGHTx')
93
- res.should be_nil
94
- File.read(path).should == @txt
95
- }
96
- end
97
-
98
- example do
99
- tempfile { |path|
100
- res = File.sub!(path, /ight/) { |m| "X#{m.upcase}X" }
101
- res.should == @res1
102
- @txt.should_not == @res1
103
- File.read(path).should == @res1
104
- }
105
- end
106
-
107
- example do
108
- tempfile { |path|
109
- res = File.sub!(path, /XightX/) { |m| "x#{m.upcase}x" }
110
- res.should be_nil
111
- File.read(path).should == @txt
112
- }
113
- end
114
-
115
- example do
116
- tempfile { |path|
117
- res = File.gsub!(path, /ight/, 'XIGHTX')
118
- res.should == @res2
119
- @txt.should_not == @res2
120
- File.read(path).should == @res2
121
- }
122
- end
123
-
124
- example do
125
- tempfile { |path|
126
- res = File.gsub!(path, /ight/) { |m| "X#{m.upcase}X" }
127
- res.should == @res2
128
- @txt.should_not == @res2
129
- File.read(path).should == @res2
130
- }
131
- end
132
-
133
- example do
134
- lambda { File.sub(tempfile, /ight/, 'XIGHTX') }.should raise_error(Errno::ENOENT)
135
- end
136
-
137
- example do
138
- lambda { File.sub!(tempfile, /ight/, 'XIGHTX') }.should raise_error(Errno::ENOENT)
139
- end
140
-
141
- example do
142
- lambda { File.gsub(tempfile, /ight/, 'XIGHTX') }.should raise_error(Errno::ENOENT)
143
- end
144
-
145
- example do
146
- lambda { File.gsub!(tempfile, /ight/, 'XIGHTX') }.should raise_error(Errno::ENOENT)
147
- end
148
-
149
- end
@@ -1,22 +0,0 @@
1
- require 'nuggets/file/which'
2
-
3
- describe_extended File, Nuggets::File::WhichMixin, true do
4
-
5
- %w[cat dog rat gcc /usr/bin/X11/gcc].each { |c|
6
- example do
7
- r = %x{which #{c}}.chomp
8
- File.which(c).should == (r.empty? ? nil : r)
9
- end
10
- }
11
-
12
- example do
13
- c = [
14
- 'unison --args source target',
15
- 'rsync --args source target',
16
- 'scp --args source target'
17
- ]
18
- r = c.find { |s| !%x{which #{s[/\S+/]}}.chomp.empty? }
19
- File.which_command(c).should == r
20
- end
21
-
22
- end
@@ -1,19 +0,0 @@
1
- require 'nuggets/hash/at'
2
-
3
- describe Hash, 'at' do
4
-
5
- let(:h) { { :a => 1, 2 => 3, nil => nil, 'foo' => %w[b a r] } }
6
-
7
- example { h.first.should == { a: 1 } }
8
-
9
- example { h.last.should == { 'foo' => %w[b a r] } }
10
-
11
- example { h.rand.should be_a(Hash) }
12
-
13
- example { h.at(0).should == { a: 1 } }
14
-
15
- example { h.at(1).should == { 2 => 3 } }
16
-
17
- example { h.at(-1).should == { 'foo' => %w[b a r] } }
18
-
19
- end
@@ -1,159 +0,0 @@
1
- require 'nuggets/hash/deep_fetch'
2
-
3
- describe_extended Hash, Nuggets::Hash::DeepFetchMixin do
4
-
5
- example do
6
- lambda { {}.deep_fetch('') }.should raise_error(ArgumentError, 'no keys given')
7
- end
8
-
9
- context do
10
-
11
- let(:hash) { { 'foo' => { 'bar' => { 'baz' => 42 }, 'bay' => 23 } } }
12
-
13
- example do
14
- hash.deep_fetch('foo/bar/baz').should == 42
15
- end
16
-
17
- example do
18
- hash.deep_fetch('foo/bar/bax').should == nil
19
- end
20
-
21
- example do
22
- lambda { hash.deep_fetch('foo/bax/baz') }.should raise_error(KeyError)
23
- end
24
-
25
- example do
26
- lambda { hash.deep_fetch('foo/bay/baz') }.should raise_error(TypeError)
27
- end
28
-
29
- example do
30
- hash.deep_fetch('foo:bar:baz').should == nil
31
- end
32
-
33
- example do
34
- hash.deep_fetch('foo:bar:baz', ':').should == 42
35
- end
36
-
37
- example do
38
- hash.deep_fetch(%w[foo bar baz]).should == 42
39
- end
40
-
41
- example do
42
- lambda { hash.deep_fetch([:foo, :bar, :baz]) }.should raise_error(KeyError)
43
- end
44
-
45
- example do
46
- (hash % 'foo/bar/baz').should == 42
47
- end
48
-
49
- example do
50
- (hash % %w[foo bar baz]).should == 42
51
- end
52
-
53
- end
54
-
55
- context do
56
-
57
- let(:hash) { { :foo => { :bar => { :baz => 42 } } } }
58
-
59
- example do
60
- lambda { hash.deep_fetch('foo/bar/baz') }.should raise_error(KeyError)
61
- end
62
-
63
- example do
64
- hash.deep_fetch('foo/bar/baz', &:to_sym).should == 42
65
- end
66
-
67
- example do
68
- hash.deep_fetch('foo:bar:baz', &:to_sym).should == nil
69
- end
70
-
71
- example do
72
- hash.deep_fetch('foo:bar:baz', ':', &:to_sym).should == 42
73
- end
74
-
75
- example do
76
- lambda { hash.deep_fetch(%w[foo bar baz]) }.should raise_error(KeyError)
77
- end
78
-
79
- example do
80
- hash.deep_fetch([:foo, :bar, :baz]).should == 42
81
- end
82
-
83
- example do
84
- lambda { hash % 'foo/bar/baz' }.should raise_error(KeyError)
85
- end
86
-
87
- example do
88
- (hash % [:foo, :bar, :baz]).should == 42
89
- end
90
-
91
- end
92
-
93
- context do
94
-
95
- let(:hash) { { 1 => { 2 => { 3 => 42 } } } }
96
-
97
- example do
98
- lambda { hash.deep_fetch('1/2/3') }.should raise_error(KeyError)
99
- end
100
-
101
- example do
102
- hash.deep_fetch('1/2/3', &:to_i).should == 42
103
- end
104
-
105
- example do
106
- hash.deep_fetch('1:2:3', &:to_i).should == { 2 => { 3 => 42 } }
107
- end
108
-
109
- example do
110
- hash.deep_fetch('1:2:3', ':', &:to_i).should == 42
111
- end
112
-
113
- example do
114
- lambda { hash.deep_fetch(%w[1 2 3]) }.should raise_error(KeyError)
115
- end
116
-
117
- example do
118
- hash.deep_fetch([1, 2, 3]).should == 42
119
- end
120
-
121
- example do
122
- lambda { hash % '1/2/3' }.should raise_error(KeyError)
123
- end
124
-
125
- example do
126
- (hash % [1, 2, 3]).should == 42
127
- end
128
-
129
- end
130
-
131
- context do
132
-
133
- let(:hash) { { 'foo' => Hash.new(0) } }
134
-
135
- example do
136
- hash.deep_fetch('foo/bar').should == 0
137
- end
138
-
139
- example do
140
- lambda { hash.deep_fetch('foo/bar/baz') }.should raise_error(KeyError)
141
- end
142
-
143
- end
144
-
145
- context do
146
-
147
- let(:hash) { { 'foo' => Hash.new { |h, k| h[k] = [] } } }
148
-
149
- example do
150
- hash.deep_fetch('foo/bar').should == []
151
- end
152
-
153
- example do
154
- lambda { hash.deep_fetch('foo/bar/baz') }.should raise_error(KeyError)
155
- end
156
-
157
- end
158
-
159
- end