facets 2.2.1 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
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