facets 2.2.1 → 2.3.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 (313) hide show
  1. data/CHANGES +6 -0
  2. data/NOTES +14 -1
  3. data/Rakefile +26 -0
  4. data/demo/bench/general/bench_calls.rb +74 -0
  5. data/demo/bench/general/bench_includes.rb +25 -0
  6. data/demo/bench/general/bench_methods.rb +17 -0
  7. data/demo/bench/general/bench_pathname.rb +24 -0
  8. data/demo/bench/general/bench_range.rb +64 -0
  9. data/demo/bench/general/bench_return.rb +56 -0
  10. data/demo/bench/general/bench_yeild.rb +75 -0
  11. data/lib/{more → class}/facets/association.rb +0 -0
  12. data/lib/{more → class}/facets/autoarray.rb +0 -0
  13. data/lib/{more → class}/facets/basicobject.rb +0 -0
  14. data/lib/{more → class}/facets/buildingblock.rb +0 -44
  15. data/lib/{more → class}/facets/cachedelegator.rb +3 -0
  16. data/lib/{more → class}/facets/coroutine.rb +0 -56
  17. data/lib/{more → class}/facets/dictionary.rb +0 -0
  18. data/lib/{more → class}/facets/downloader.rb +0 -0
  19. data/lib/{more → class}/facets/filelist.rb +0 -0
  20. data/lib/{more → class}/facets/fileshell.rb +0 -0
  21. data/lib/{more → class}/facets/hashbuilder.rb +0 -0
  22. data/lib/{more → class}/facets/heap.rb +0 -0
  23. data/lib/{more → class}/facets/infinity.rb +0 -46
  24. data/lib/{more → class}/facets/interval.rb +0 -0
  25. data/lib/{more → class}/facets/ioredirect.rb +0 -0
  26. data/lib/{more → class}/facets/linkedlist.rb +0 -42
  27. data/lib/{more → class}/facets/lrucache.rb +0 -23
  28. data/lib/{more → class}/facets/minitar.rb +0 -0
  29. data/lib/{more → class}/facets/nackclass.rb +0 -0
  30. data/lib/{more → class}/facets/nullclass.rb +0 -0
  31. data/lib/{more → class}/facets/opencascade.rb +0 -70
  32. data/lib/{more → class}/facets/opencollection.rb +0 -0
  33. data/lib/class/facets/openhash.rb +41 -0
  34. data/lib/{more → class}/facets/openobject.rb +0 -121
  35. data/lib/{more → class}/facets/orderedhash.rb +0 -0
  36. data/lib/{more → class}/facets/pathlist.rb +0 -0
  37. data/lib/{more → class}/facets/pool.rb +0 -0
  38. data/lib/{more → class}/facets/pqueue.rb +0 -0
  39. data/lib/{more → class}/facets/progressbar.rb +0 -0
  40. data/lib/{more → class}/facets/recorder.rb +0 -40
  41. data/lib/{more → class}/facets/reference.rb +0 -0
  42. data/lib/{more → class}/facets/rwdelegator.rb +0 -0
  43. data/lib/{more → class}/facets/semaphore.rb +0 -0
  44. data/lib/{more → class}/facets/syncarray.rb +0 -24
  45. data/lib/{more → class}/facets/synchash.rb +1 -25
  46. data/lib/{more → class}/facets/timer.rb +0 -62
  47. data/lib/{more → class}/facets/tuple.rb +0 -60
  48. data/lib/{more → class}/facets/version.rb +0 -0
  49. data/lib/core/facets/dir/multiglob.rb +20 -5
  50. data/lib/core/facets/enumerable/cartesian.rb +2 -2
  51. data/lib/core/facets/enumerable/combination.rb +9 -1
  52. data/lib/core/facets/kernel/object.rb +1 -1
  53. data/lib/{more → mixin}/facets/binreadable.rb +0 -62
  54. data/lib/{more → mixin}/facets/buildable.rb +0 -48
  55. data/lib/mixin/facets/cloneable.rb +90 -0
  56. data/lib/{more → mixin}/facets/enumerablepass.rb +0 -81
  57. data/lib/{more → mixin}/facets/expirable.rb +0 -0
  58. data/lib/{more → mixin}/facets/fileable.rb +0 -0
  59. data/lib/{more → mixin}/facets/instantiable.rb +0 -30
  60. data/lib/{more → mixin}/facets/multiton.rb +0 -0
  61. data/lib/{more → mixin}/facets/registerable.rb +0 -0
  62. data/lib/mixin/facets/tasksystem.rb +350 -0
  63. data/lib/{more → mixin}/facets/uninheritable.rb +1 -39
  64. data/lib/{more → mixin}/facets/validation.rb +0 -0
  65. data/lib/more/facets/arguments.rb +0 -66
  66. data/lib/more/facets/attributes.rb +0 -35
  67. data/lib/more/facets/bbcode.rb +1 -31
  68. data/lib/more/facets/bytes.rb +0 -80
  69. data/lib/more/facets/class_extension.rb +0 -66
  70. data/lib/more/facets/classmethods.rb +0 -64
  71. data/lib/more/facets/compare_on.rb +0 -52
  72. data/lib/more/facets/curry.rb +0 -29
  73. data/lib/more/facets/cut.rb +0 -27
  74. data/lib/more/facets/date.rb +0 -54
  75. data/lib/more/facets/dependency.rb +0 -70
  76. data/lib/more/facets/elementor.rb +0 -67
  77. data/lib/more/facets/getoptlong.rb +0 -30
  78. data/lib/more/facets/{hash_keyize.rb → hash/keyize.rb} +0 -0
  79. data/lib/more/facets/inheritor.rb +0 -150
  80. data/lib/more/facets/instantise.rb +0 -41
  81. data/lib/more/facets/let.rb +0 -20
  82. data/lib/more/facets/memoize.rb +0 -45
  83. data/lib/more/facets/multipliers.rb +0 -110
  84. data/lib/more/facets/ostruct.rb +0 -124
  85. data/lib/more/facets/random.rb +0 -153
  86. data/lib/more/facets/rbconfig.rb +55 -0
  87. data/lib/more/facets/set.rb +27 -0
  88. data/lib/more/facets/snapshot.rb +0 -30
  89. data/lib/more/facets/stylize.rb +0 -147
  90. data/lib/more/facets/times.rb +0 -98
  91. data/lib/more/facets/tracepoint.rb +194 -0
  92. data/lib/more/facets/typecast.rb +0 -63
  93. data/lib/more/facets/ziputils.rb +7 -0
  94. data/log/Changelog-0.txt +239 -0
  95. data/log/Changelog-1.txt +450 -0
  96. data/log/Changelog.txt +841 -0
  97. data/log/Fixme.txt +18 -0
  98. data/log/Testlog.txt +188 -0
  99. data/log/Todo.txt +326 -0
  100. data/meta/MANIFEST +1 -1
  101. data/meta/VERSION +1 -0
  102. data/meta/authors +48 -0
  103. data/meta/description +8 -0
  104. data/meta/project.yaml +11 -5
  105. data/task/install +4 -2
  106. data/task/rdoc +5 -0
  107. data/task/test +40 -0
  108. data/test/{unit → class}/test_association.rb +0 -0
  109. data/test/{unit → class}/test_autoarray.rb +0 -0
  110. data/test/{unit → class}/test_basicobject.rb +0 -0
  111. data/test/{unit → class}/test_buildingblock.rb +1 -0
  112. data/test/{unit → class}/test_coroutine.rb +0 -0
  113. data/test/{unit → class}/test_dictionary.rb +0 -0
  114. data/test/{unit → class}/test_infinity.rb +0 -0
  115. data/test/{unit → class}/test_interval.rb +0 -0
  116. data/test/{unit → class}/test_linkedlist.rb +1 -1
  117. data/test/{unit → class}/test_lrucache.rb +3 -0
  118. data/test/{unit → class}/test_opencascade.rb +0 -0
  119. data/test/{unit → class}/test_openobject.rb +0 -0
  120. data/test/{unit → class}/test_recorder.rb +0 -1
  121. data/test/{unit → class}/test_syncarray.rb +2 -4
  122. data/test/{unit → class}/test_synchash.rb +2 -4
  123. data/test/{unit → class}/test_timer.rb +0 -1
  124. data/test/{unit → class}/test_tuple.rb +0 -0
  125. data/test/{unit → core}/array/test_delete.rb +0 -0
  126. data/test/{unit → core}/array/test_indexable.rb +0 -0
  127. data/test/{unit → core}/array/test_merge.rb +0 -0
  128. data/test/{unit → core}/array/test_only.rb +0 -0
  129. data/test/{unit → core}/array/test_pad.rb +0 -0
  130. data/test/{unit → core}/array/test_rotate.rb +0 -0
  131. data/test/{unit → core}/array/test_select.rb +0 -0
  132. data/test/{unit → core}/array/test_stackable.rb +0 -0
  133. data/test/{unit/binding/test_cflow.rb → core/binding/test_caller.rb} +2 -2
  134. data/test/{unit → core}/binding/test_defined.rb +0 -0
  135. data/test/{unit → core}/binding/test_eval.rb +0 -0
  136. data/test/{unit → core}/binding/test_here.rb +0 -0
  137. data/test/{unit → core}/binding/test_self.rb +0 -0
  138. data/test/{unit → core}/binding/test_vars.rb +0 -0
  139. data/test/{unit → core}/class/test_descendents.rb +0 -0
  140. data/test/{unit → core}/class/test_initializer.rb +0 -0
  141. data/test/{unit → core}/class/test_remove_descendents.rb +0 -0
  142. data/test/{unit → core}/comparable/test_bound.rb +0 -0
  143. data/test/{unit → core}/comparable/test_cmp.rb +0 -0
  144. data/test/{unit → core}/dir/test_parent.rb +0 -0
  145. data/test/{unit → core}/dir/test_recurse.rb +0 -0
  146. data/test/{unit → core}/dir/test_traverse.rb +0 -0
  147. data/test/{unit → core}/enumerable/test_cartesian.rb +0 -0
  148. data/test/{unit → core}/enumerable/test_collect.rb +0 -0
  149. data/test/{unit → core}/enumerable/test_combination.rb +0 -0
  150. data/test/{unit → core}/enumerable/test_count.rb +0 -0
  151. data/test/{unit → core}/enumerable/test_each.rb +0 -0
  152. data/test/{unit → core}/enumerable/test_mash.rb +0 -0
  153. data/test/{unit → core}/enumerable/test_permutation.rb +0 -0
  154. data/test/{unit → core}/enumerable/test_probability.rb +0 -0
  155. data/test/{unit → core}/enumerable/test_split.rb +0 -0
  156. data/test/{unit → core}/exception/test_detail.rb +0 -0
  157. data/test/{unit → core}/file/test_null.rb +0 -0
  158. data/test/{unit → core}/file/test_read.rb +0 -0
  159. data/test/{unit → core}/file/test_sanitize.rb +0 -0
  160. data/test/{unit → core}/file/test_split_all.rb +0 -0
  161. data/test/{unit → core}/file/test_write.rb +0 -0
  162. data/test/{unit → core}/filetest/test_root.rb +0 -0
  163. data/test/{unit → core}/hash/test_alias.rb +0 -0
  164. data/test/{unit → core}/hash/test_at.rb +0 -0
  165. data/test/{unit → core}/hash/test_autonew.rb +0 -0
  166. data/test/core/hash/test_collate.rb +33 -0
  167. data/test/{unit → core}/hash/test_delete.rb +0 -0
  168. data/test/{unit → core}/hash/test_each_with_key.rb +0 -0
  169. data/test/{unit → core}/hash/test_has_keys.rb +0 -0
  170. data/test/{unit → core}/hash/test_insert.rb +0 -0
  171. data/test/{unit → core}/hash/test_inverse.rb +0 -0
  172. data/test/{unit → core}/hash/test_op.rb +0 -0
  173. data/test/{unit → core}/hash/test_rekey.rb +0 -0
  174. data/test/{unit → core}/hash/test_reverse_merge.rb +0 -0
  175. data/test/{unit → core}/hash/test_select.rb +0 -0
  176. data/test/{unit → core}/hash/test_swap.rb +0 -0
  177. data/test/{unit → core}/hash/test_traverse.rb +0 -0
  178. data/test/{unit → core}/hash/test_update.rb +0 -0
  179. data/test/{unit → core}/hash/test_weave.rb +0 -0
  180. data/test/{unit → core}/hash/test_zipnew.rb +0 -0
  181. data/test/{unit → core}/integer/test_bitmask.rb +0 -0
  182. data/test/{unit → core}/integer/test_factorial.rb +0 -0
  183. data/test/{unit → core}/integer/test_multiple.rb +0 -0
  184. data/test/{unit → core}/integer/test_of.rb +0 -0
  185. data/test/{unit → core}/kernel/test_callstack.rb +0 -0
  186. data/test/{unit → core}/kernel/test_constant.rb +0 -0
  187. data/test/{unit → core}/kernel/test_deepcopy.rb +0 -0
  188. data/test/{unit → core}/kernel/test_instance.rb +0 -0
  189. data/test/{unit → core}/kernel/test_metaid.rb +0 -0
  190. data/test/{unit → core}/kernel/test_object.rb +1 -1
  191. data/test/{unit → core}/kernel/test_populate.rb +0 -0
  192. data/test/{unit → core}/kernel/test_report.rb +0 -0
  193. data/test/{unit → core}/kernel/test_returning.rb +0 -0
  194. data/test/{unit → core}/kernel/test_silence.rb +0 -0
  195. data/test/{unit → core}/kernel/test_super.rb +0 -0
  196. data/test/{unit → core}/kernel/test_tap.rb +0 -0
  197. data/test/{unit → core}/kernel/test_val.rb +0 -0
  198. data/test/{unit → core}/kernel/test_withattr.rb +0 -0
  199. data/test/{unit → core}/matchdata/test_match.rb +0 -0
  200. data/test/{unit → core}/matchdata/test_matchset.rb +0 -0
  201. data/test/{unit → core}/module/test_abstract.rb +0 -0
  202. data/test/{unit → core}/module/test_alias.rb +0 -0
  203. data/test/{unit → core}/module/test_cattr.rb +0 -0
  204. data/test/{unit → core}/module/test_clone.rb +0 -0
  205. data/test/{unit → core}/module/test_include.rb +0 -0
  206. data/test/{unit → core}/module/test_modify.rb +0 -0
  207. data/test/{unit → core}/module/test_name.rb +0 -0
  208. data/test/{unit → core}/module/test_traits.rb +0 -0
  209. data/test/{unit → core}/numeric/test_round.rb +0 -0
  210. data/test/{unit → core}/proc/test_bind.rb +0 -0
  211. data/test/{unit → core}/proc/test_compose.rb +0 -0
  212. data/test/{unit → core}/range/test_combine.rb +0 -0
  213. data/test/{unit → core}/range/test_overlap.rb +0 -0
  214. data/test/{unit → core}/regexp/test_arity.rb +0 -0
  215. data/test/{unit → core}/string/test_align.rb +0 -0
  216. data/test/{unit → core}/string/test_blank.rb +0 -0
  217. data/test/{unit → core}/string/test_bracket.rb +0 -0
  218. data/test/{unit → core}/string/test_case.rb +0 -0
  219. data/test/{unit → core}/string/test_crypt.rb +0 -0
  220. data/test/{unit → core}/string/test_filter.rb +0 -0
  221. data/test/{unit → core}/string/test_indexable.rb +0 -0
  222. data/test/{unit → core}/string/test_interpolate.rb +0 -0
  223. data/test/{unit → core}/string/test_natcmp.rb +0 -0
  224. data/test/{unit → core}/string/test_nchar.rb +0 -0
  225. data/test/{unit → core}/string/test_op.rb +0 -0
  226. data/test/{unit → core}/string/test_partitions.rb +0 -0
  227. data/test/{unit → core}/string/test_range.rb +0 -0
  228. data/test/{unit → core}/string/test_regesc.rb +0 -0
  229. data/test/{unit → core}/string/test_scan.rb +0 -0
  230. data/test/{unit → core}/string/test_stackable.rb +0 -0
  231. data/test/{unit → core}/string/test_tabs.rb +0 -0
  232. data/test/{unit → core}/string/test_wrap.rb +0 -0
  233. data/test/{unit → core}/symbol/test_chomp.rb +0 -0
  234. data/test/{unit → core}/symbol/test_generate.rb +0 -0
  235. data/test/{unit → core}/symbol/test_not.rb +0 -0
  236. data/test/{unit → core}/symbol/test_shadow.rb +0 -0
  237. data/test/{unit → core}/symbol/test_succ.rb +0 -0
  238. data/test/{unit → core}/symbol/test_to_proc.rb +0 -0
  239. data/test/{unit → core}/test_1stclassmethod.rb +0 -0
  240. data/test/{unit → core}/test_boolean.rb +0 -0
  241. data/test/{unit → core}/test_conversion.rb +0 -0
  242. data/test/{unit → core}/test_functor.rb +0 -0
  243. data/test/{unit → core}/time/test_change.rb +0 -0
  244. data/test/{unit → core}/time/test_elapse.rb +0 -0
  245. data/test/{unit → core}/time/test_stamp.rb +0 -0
  246. data/test/{unit → mixin}/test_binreadable.rb +0 -0
  247. data/test/{unit → mixin}/test_buildable.rb +1 -0
  248. data/test/mixin/test_cloneable.rb +41 -0
  249. data/test/{unit → mixin}/test_enumerablepass.rb +0 -0
  250. data/test/{unit → mixin}/test_instantiable.rb +2 -1
  251. data/test/{unit → mixin}/test_multiton.rb +0 -0
  252. data/test/{unit → mixin}/test_uninheritable.rb +1 -2
  253. data/test/{unit → more/hash}/test_keyize.rb +1 -1
  254. data/test/{unit → more}/test_advice.rb +0 -0
  255. data/test/{unit → more}/test_annotations.rb +0 -0
  256. data/test/{unit → more}/test_ansicode.rb +0 -0
  257. data/test/{unit → more}/test_aop.rb +0 -0
  258. data/test/{unit → more}/test_arguments.rb +1 -0
  259. data/test/{unit → more}/test_attributes.rb +2 -2
  260. data/test/{unit → more}/test_bbcode.rb +1 -0
  261. data/test/{unit → more}/test_bytes.rb +1 -0
  262. data/test/{unit → more}/test_class_extension.rb +2 -1
  263. data/test/{unit → more}/test_classmethods.rb +2 -1
  264. data/test/{unit → more}/test_compare_on.rb +0 -1
  265. data/test/{unit → more}/test_continuation.rb +0 -0
  266. data/test/{unit → more}/test_crypt.rb +0 -0
  267. data/test/{unit → more}/test_curry.rb +1 -0
  268. data/test/{unit → more}/test_cut.rb +2 -1
  269. data/test/{unit → more}/test_date.rb +1 -1
  270. data/test/{unit → more}/test_dependency.rb +2 -2
  271. data/test/{unit → more}/test_elementor.rb +1 -1
  272. data/test/{unit → more}/test_getoptlong.rb +1 -0
  273. data/test/{unit → more}/test_inheritor.rb +1 -1
  274. data/test/{unit → more}/test_instantise.rb +2 -1
  275. data/test/{unit → more}/test_interface.rb +0 -0
  276. data/test/{unit → more}/test_let.rb +0 -1
  277. data/test/{unit → more}/test_memoize.rb +2 -3
  278. data/test/{unit → more}/test_multipliers.rb +1 -1
  279. data/test/{unit → more}/test_namespace.rb +0 -0
  280. data/test/{unit → more}/test_ostruct.rb +0 -0
  281. data/test/{unit → more}/test_overload.rb +0 -0
  282. data/test/{unit → more}/test_paramix.rb +0 -0
  283. data/test/{unit → more}/test_prototype.rb +0 -0
  284. data/test/more/test_random.rb +146 -0
  285. data/test/{unit → more}/test_snapshot.rb +0 -3
  286. data/test/{unit → more}/test_stylize.rb +1 -2
  287. data/test/{unit → more}/test_thread.rb +0 -0
  288. data/test/{unit → more}/test_times.rb +2 -2
  289. data/test/{unit → more}/test_typecast.rb +0 -3
  290. metadata +1117 -1098
  291. data/lib/more/facets/cloneable.rb +0 -75
  292. data/log/changelog.txt +0 -0
  293. data/meta/facets.roll +0 -4
  294. data/meta/google_ad.html +0 -15
  295. data/meta/icli.yaml +0 -17
  296. data/task/changes +0 -29
  297. data/task/clean +0 -17
  298. data/task/clobber/package +0 -10
  299. data/task/log +0 -17
  300. data/task/prepare +0 -7
  301. data/task/publish +0 -43
  302. data/task/release +0 -10
  303. data/task/stamp +0 -33
  304. data/task/stats +0 -138
  305. data/task/test/cross +0 -309
  306. data/task/test/each +0 -42
  307. data/task/test/load +0 -30
  308. data/task/test/pairs +0 -50
  309. data/task/test/solo +0 -294
  310. data/task/test/syntax +0 -31
  311. data/task/test/whole +0 -34
  312. data/test/unit/hash/test_collate.rb +0 -31
  313. data/test/unit/test_random.rb +0 -149
File without changes
File without changes
File without changes
@@ -95,43 +95,3 @@ class Recorder
95
95
 
96
96
  end
97
97
 
98
-
99
-
100
- # _____ _
101
- # |_ _|__ ___| |_
102
- # | |/ _ \/ __| __|
103
- # | | __/\__ \ |_
104
- # |_|\___||___/\__|
105
- #
106
-
107
- =begin test
108
-
109
- require 'test/unit'
110
-
111
- #class Object
112
- # def &(o)
113
- # self && o
114
- # end
115
- #end
116
-
117
- class TCRecorder < Test::Unit::TestCase
118
-
119
- class Z
120
- def name ; 'George' ; end
121
- def age ; 12 ; end
122
- end
123
-
124
- def setup
125
- @z = Z.new
126
- end
127
-
128
- def test_001
129
- r = Recorder.new
130
- q = proc { |x| (x.name == 'George') & (x.age > 10) }
131
- x = q[r]
132
- assert( x.__call__(@z) )
133
- end
134
-
135
- end
136
-
137
- =end
File without changes
File without changes
@@ -120,27 +120,3 @@ end
120
120
  ### Array::Sync = SyncArray
121
121
  #++
122
122
 
123
-
124
-
125
- # _____ _
126
- # |_ _|__ ___| |_
127
- # | |/ _ \/ __| __|
128
- # | | __/\__ \ |_
129
- # |_|\___||___/\__|
130
- #
131
-
132
- =begin testing
133
-
134
- require 'test/unit'
135
-
136
- # TODO
137
-
138
- class TC_SyncArray < Test::Unit::TestCase
139
-
140
- def test_01
141
- assert_nothing_raised{ @s = SyncArray.new }
142
- end
143
-
144
- end
145
-
146
- =end
@@ -146,28 +146,4 @@ end #class SyncHash
146
146
  # I'm leaving this comment here as a reminder.
147
147
  ### Hash::Sync = SyncHash
148
148
  #++
149
-
150
-
151
-
152
- # _____ _
153
- # |_ _|__ ___| |_
154
- # | |/ _ \/ __| __|
155
- # | | __/\__ \ |_
156
- # |_|\___||___/\__|
157
- #
158
-
159
- =begin testing
160
-
161
- require 'test/unit'
162
-
163
- # TODO
164
-
165
- class TC_SyncHash < Test::Unit::TestCase
166
-
167
- def test_01
168
- assert_nothing_raised{ @h = SyncHash.new }
169
- end
170
-
171
- end
172
-
173
- =end
149
+
@@ -245,65 +245,3 @@ module Kernel
245
245
 
246
246
  end
247
247
 
248
-
249
-
250
- # _____ _
251
- # |_ _|__ ___| |_
252
- # | |/ _ \/ __| __|
253
- # | | __/\__ \ |_
254
- # |_|\___||___/\__|
255
- #
256
-
257
- =begin test
258
-
259
- require 'test/unit'
260
-
261
- class TC_Timer < Test::Unit::TestCase
262
-
263
- def test_timed
264
- timed { |timer|
265
- assert_equal 0, timer.total_time.round
266
- sleep 1
267
- assert_equal 1, timer.total_time.round
268
- timer.stop
269
- assert_equal 1, timer.total_time.round
270
- sleep 1
271
- assert_equal 1, timer.total_time.round
272
- timer.start
273
- assert_equal 1, timer.total_time.round
274
- sleep 1
275
- assert_equal 2, timer.total_time.round
276
- }
277
- end
278
-
279
- def test_outoftime
280
- t = Timer.new(1)
281
- assert_raises( TimeoutError ) {
282
- t.start
283
- sleep 2
284
- t.stop
285
- }
286
- end
287
-
288
- # This has been removed becuase it is too close to call.
289
- # Sometimes and error is returned sometimes it is not.
290
- #def test_nickoftime
291
- # assert_raises( TimeoutError ) {
292
- # @t.start
293
- # sleep 2
294
- # @t.stop
295
- # }
296
- #end
297
-
298
- def test_intime
299
- t = Timer.new(2)
300
- assert_nothing_raised {
301
- t.start
302
- sleep 1
303
- t.stop
304
- }
305
- end
306
-
307
- end
308
-
309
- =end
@@ -308,63 +308,3 @@ class ::Array
308
308
 
309
309
  end
310
310
 
311
-
312
-
313
- # _____ _
314
- # |_ _|__ ___| |_
315
- # | |/ _ \/ __| __|
316
- # | | __/\__ \ |_
317
- # |_|\___||___/\__|
318
- #
319
-
320
- =begin testing
321
-
322
- require 'test/unit'
323
-
324
- class TC_Tuple < Test::Unit::TestCase
325
-
326
- def test_01
327
- t1 = Tuple[1,2,3]
328
- t2 = Tuple[2,4,5]
329
- assert( t1 < t2 )
330
- assert( t2 > t1 )
331
- end
332
-
333
- def test_02
334
- t1 = Tuple[1,2,3]
335
- a1 = t1.to_a
336
- assert( Array === a1 )
337
- end
338
-
339
- def test_03
340
- t1 = Tuple[1,2,3]
341
- t2 = Tuple[1,2,3]
342
- assert( t1.object_id === t2.object_id )
343
- end
344
-
345
- def test_04
346
- t1 = Tuple[1,2,3]
347
- t1 = t1 << 4
348
- assert( Tuple === t1 )
349
- t2 = Tuple[1,2,3,4]
350
- assert( t1.object_id == t2.object_id )
351
- end
352
-
353
- def test_05
354
- t1 = "1.2.3".to_t
355
- assert( Tuple === t1 )
356
- t2 = Tuple[1,2,3]
357
- assert( t1.object_id == t2.object_id )
358
- end
359
-
360
- def test_06
361
- t1 = "1.2.3a".to_t
362
- assert( Tuple === t1 )
363
- t2 = Tuple[1,2,'3a']
364
- assert_equal( t2, t1 )
365
- assert( t2.object_id == t1.object_id )
366
- end
367
-
368
- end
369
-
370
- =end
File without changes
@@ -25,6 +25,9 @@ class Dir
25
25
  #
26
26
  # Dir.multiglob('**/*')
27
27
  #
28
+ #--
29
+ # DEPRECATED
30
+ #
28
31
  # Multiglob also accepts '+' and '-' prefixes. Any entry that begins with a '-'
29
32
  # is treated as an exclusion glob and will be removed from the final result.
30
33
  # For example, to collect all files in the current directory, less ruby scripts:
@@ -33,10 +36,16 @@ class Dir
33
36
  #
34
37
  # This is very useful in collecting files as specificed by a configuration
35
38
  # parameter.
39
+ #++
36
40
 
37
41
  def self.multiglob(*patterns)
38
42
  options = (Hash === patterns.last ? patterns.pop : {})
39
43
 
44
+ if options.delete(:recurse)
45
+ #patterns += patterns.collect{ |f| File.join(f, '**', '**') }
46
+ multiglob_r(*patterns)
47
+ end
48
+
40
49
  bitflags = 0
41
50
  bitflags |= File::FNM_NOESCAPE if options[:noescape]
42
51
  bitflags |= File::FNM_CASEFOLD if options[:casefold]
@@ -46,7 +55,7 @@ class Dir
46
55
  patterns = [patterns].flatten.compact
47
56
 
48
57
  if options[:recurse]
49
- patterns += patterns.collect{ |f| File.join(f, '**', '*') }
58
+ patterns += patterns.collect{ |f| File.join(f, '**', '**') }
50
59
  end
51
60
 
52
61
  files = []
@@ -65,13 +74,19 @@ class Dir
65
74
  #
66
75
  # The effect of which is
67
76
  #
68
- # Dir.multiglob( 'folder', 'folder/**/*' )
77
+ # Dir.multiglob( 'folder', 'folder/**/**' )
78
+ #
69
79
 
70
80
  def self.multiglob_r(*patterns)
71
81
  options = (Hash === patterns.last ? patterns.pop : {})
72
- options[:recurse] = true
73
- patterns << options
74
- multiglob(*patterns)
82
+ matches = multiglob(*patterns)
83
+ directories = matches.select{ |m| File.directory?(m) }
84
+ matches += directories.collect{ |d| multiglob_r(File.join(d, '**'), options) }.flatten
85
+ matches.uniq
86
+ #options = (Hash === patterns.last ? patterns.pop : {})
87
+ #options[:recurse] = true
88
+ #patterns << options
89
+ #multiglob(*patterns)
75
90
  end
76
91
 
77
92
  end
@@ -4,10 +4,10 @@ module Enumerable
4
4
  # This is the class-level method. The instance method
5
5
  # calls on this.
6
6
  #
7
- # Enumerable.cart([1,2], [4], ["apple", "banana"])
7
+ # Enumerable.cartesian_product([1,2], [4], ["apple", "banana"])
8
8
  # #=> [[1, 4, "apple"], [1, 4, "banana"], [2, 4, "apple"], [2, 4, "banana"]]
9
9
  #
10
- # Enumerable.cart([1,2], [3,4])
10
+ # Enumerable.cartesian_product([1,2], [3,4])
11
11
  # #=> [[1, 3], [1, 4], [2, 3], [2, 4]]
12
12
  #
13
13
  # CREDIT: Thomas Hafner
@@ -10,7 +10,7 @@ module Enumerable
10
10
  # a = %w|a b|
11
11
  # b = %w|a x|
12
12
  # c = %w|x y|
13
- # Array.combinations(a, b, c).each { |x| p x }
13
+ # Enumerable.combinations(a, b, c).each { |x| p x }
14
14
  #
15
15
  # produces
16
16
  #
@@ -32,6 +32,14 @@ module Enumerable
32
32
  }
33
33
  end
34
34
 
35
+ #
36
+
37
+ def combinations(k=2)
38
+ a = []
39
+ each_combination(k){ |c| a << c }
40
+ a
41
+ end
42
+
35
43
  # Yields the block to each unique combination of _n_ elements.
36
44
  #
37
45
  # a = %w|a b c d|
@@ -30,7 +30,7 @@ module Kernel
30
30
  # "ABC".object_hexid #=> "0x402d359c"
31
31
 
32
32
  def object_hexid
33
- return "0x" << ('%.x' % (2*self.__id__))[1..-1]
33
+ return "0x" << ('%.x' % (2*self.__id__)) #[1..-1]
34
34
  end
35
35
 
36
36
  # Send only to public methods.
@@ -222,65 +222,3 @@ end
222
222
  # Compatability with old version.
223
223
  BinaryReader = BinReadable
224
224
 
225
-
226
-
227
- # _____ _
228
- # |_ _|__ ___| |_
229
- # | |/ _ \/ __| __|
230
- # | | __/\__ \ |_
231
- # |_|\___||___/\__|
232
- #
233
-
234
- # TODO
235
-
236
- =begin test
237
-
238
- require 'test/unit'
239
-
240
- class TC_ByteOrder < Test::Unit::TestCase
241
-
242
- include BinaryReader
243
-
244
- def test_equal
245
- assert_equal ByteOrder.little?, ByteOrder.little_endian?
246
- assert_equal ByteOrder.big?, ByteOrder.big_endian?
247
- assert_equal ByteOrder.network?, ByteOrder.big_endian?
248
- assert_equal ByteOrder.byte_order, ByteOrder.byteorder
249
-
250
- assert_equal ByteOrder::Big, ByteOrder::BigEndian
251
- assert_equal ByteOrder::Network, ByteOrder::BigEndian
252
- assert_equal ByteOrder::Little, ByteOrder::LittleEndian
253
-
254
- assert_equal ByteOrder.byte_order, ByteOrder::LittleEndian if ByteOrder.little?
255
- assert_equal ByteOrder.byte_order, ByteOrder::BigEndian if ByteOrder.big?
256
- end
257
-
258
- def test_uname_byteorder
259
- assert_equal(ByteOrder.little?, true) if `uname -m` =~ /i386/
260
- end
261
-
262
- def test_byteorder
263
- if ByteOrder.little?
264
- assert_equal "\x12\x34\x56\x78".unpack("L").first, 0x78563412
265
- assert_equal "\x78\x56\x34\x12".unpack("L").first, 0x12345678
266
- assert_equal [0x12345678].pack("L"), "\x78\x56\x34\x12"
267
- assert_equal [0x78563412].pack("L"), "\x12\x34\x56\x78"
268
- else
269
- assert_equal "\x12\x34\x56\x78".unpack("L").first, 0x12345678
270
- assert_equal "\x78\x56\x34\x12".unpack("L").first, 0x78563412
271
- assert_equal [0x12345678].pack("L"), "\x12\x34\x56\x78"
272
- assert_equal [0x78563412].pack("L"), "\x78\x56\x34\x12"
273
- end
274
- end
275
-
276
- end
277
-
278
- class TC_BinaryReader < Test::Unit::TestCase
279
-
280
- def test_todo
281
- assert(true) # to do
282
- end
283
-
284
- end
285
-
286
- =end
@@ -77,54 +77,6 @@ module Buildable
77
77
 
78
78
  end
79
79
 
80
- # _____ _
81
- # |_ _|__ ___| |_
82
- # | |/ _ \/ __| __|
83
- # | | __/\__ \ |_
84
- # |_|\___||___/\__|
85
- #
86
-
87
- =begin test
88
- require 'test/unit'
89
-
90
- class TestBuildable < Test::Unit::TestCase
91
-
92
- module M
93
- include Buildable
94
-
95
- extend self
96
-
97
- def m(n,*m) ; "#{n}{#{m}}"; end
98
- def t(n) ; "#{n}"; end
99
-
100
- alias :build :m
101
- end
102
-
103
- def test_01
104
- str = M.build do
105
- html do
106
- head do
107
- title "Test"
108
- end
109
- body do
110
- i "Hello"
111
- build! :not
112
- t "Test"
113
- t "Hey"
114
- end
115
- end
116
- end
117
-
118
- r = "html{head{title{Test}}body{i{Hello}not{}TestHey}}"
119
-
120
- assert_equal( r, M.builder.to_s )
121
- end
122
-
123
- end
124
-
125
- =end
126
-
127
-
128
80
  # Author:: Thomas Sawyer
129
81
  # Copyright:: Copyright (c) 2007 Thomas Sawyer
130
82
  # License:: Ruby License