zucker 8 → 9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (366) hide show
  1. data/CHANGELOG +14 -0
  2. data/MIT-LICENSE +1 -1
  3. data/README +1 -1
  4. data/Rakefile +33 -40
  5. data/desc/alias_for.yaml +17 -0
  6. data/desc/aliases.yaml +18 -0
  7. data/desc/array.yaml +13 -0
  8. data/desc/array_to_proc.yaml +16 -0
  9. data/desc/binding.yaml +22 -0
  10. data/desc/blank.yaml +9 -0
  11. data/desc/cc.yaml +10 -0
  12. data/desc/class_to_proc.yaml +11 -0
  13. data/desc/dd.yaml +23 -0
  14. data/desc/egonil.yaml +15 -0
  15. data/desc/engine.yaml +15 -0
  16. data/desc/enumerable.yaml +10 -0
  17. data/desc/file.yaml +15 -0
  18. data/desc/hash.yaml +14 -0
  19. data/desc/hash_to_proc.yaml +10 -0
  20. data/desc/info.yaml +20 -0
  21. data/desc/iterate.yaml +16 -0
  22. data/desc/ivars.yaml +19 -0
  23. data/desc/kernel.yaml +14 -0
  24. data/desc/mcopy.yaml +11 -0
  25. data/desc/mm.yaml +15 -0
  26. data/desc/not.yaml +11 -0
  27. data/desc/oo.yaml +10 -0
  28. data/desc/os.yaml +19 -0
  29. data/desc/qq.yaml +11 -0
  30. data/desc/regexp_to_proc.yaml +12 -0
  31. data/desc/regexp_visualize.yaml +23 -0
  32. data/desc/sandbox.yaml +12 -0
  33. data/desc/square_brackets_for.yaml +22 -0
  34. data/desc/string.yaml +23 -0
  35. data/desc/tap.yaml +17 -0
  36. data/desc/unary.yaml +15 -0
  37. data/desc/union.yaml +10 -0
  38. data/desc/version.yaml +28 -0
  39. data/doc/zucker_doc.html +2688 -0
  40. data/doc/zucker_doc.rb +553 -0
  41. data/lib/zucker.rb +10 -9
  42. data/lib/zucker/array2proc.rb +2 -18
  43. data/lib/zucker/{2/array2proc.rb → array_to_proc.rb} +0 -0
  44. data/lib/zucker/binding.rb +4 -5
  45. data/lib/zucker/cc.rb +7 -2
  46. data/lib/zucker/class2proc.rb +2 -12
  47. data/lib/zucker/{1/class2proc.rb → class_to_proc.rb} +0 -0
  48. data/lib/zucker/file.rb +22 -0
  49. data/lib/zucker/hash2proc.rb +2 -16
  50. data/lib/zucker/{1/hash2proc.rb → hash_to_proc.rb} +0 -0
  51. data/lib/zucker/kernel.rb +4 -2
  52. data/lib/zucker/mm.rb +14 -8
  53. data/lib/zucker/regexp2proc.rb +2 -12
  54. data/lib/zucker/{1/regexp2proc.rb → regexp_to_proc.rb} +0 -0
  55. data/lib/zucker/regexp_visualize.rb +26 -0
  56. data/lib/zucker/sandbox.rb +1 -11
  57. data/spec/alias_for_spec.rb +117 -0
  58. data/spec/aliases_spec.rb +13 -0
  59. data/spec/array_spec.rb +23 -0
  60. data/spec/array_to_proc_spec.rb +12 -0
  61. data/spec/binding_spec.rb +6 -0
  62. data/spec/blank_spec.rb +20 -0
  63. data/spec/cc_spec.rb +6 -0
  64. data/spec/class_to_proc_spec.rb +9 -0
  65. data/spec/dd_spec.rb +37 -0
  66. data/spec/egonil_spec.rb +32 -0
  67. data/spec/engine_spec.rb +11 -0
  68. data/spec/enumerable_spec.rb +8 -0
  69. data/spec/file_spec.rb +30 -0
  70. data/spec/hash_spec.rb +25 -0
  71. data/spec/hash_to_proc_spec.rb +12 -0
  72. data/spec/info_spec.rb +8 -0
  73. data/spec/iterate_spec.rb +59 -0
  74. data/spec/ivars_spec.rb +20 -0
  75. data/spec/kernel_spec.rb +37 -0
  76. data/spec/mcopy_spec.rb +13 -0
  77. data/spec/mm_spec.rb +6 -0
  78. data/spec/not_spec.rb +12 -0
  79. data/spec/oo_spec.rb +6 -0
  80. data/spec/os_spec.rb +37 -0
  81. data/spec/qq_spec.rb +19 -0
  82. data/spec/regexp_to_proc_spec.rb +9 -0
  83. data/spec/regexp_visualize_spec.rb +38 -0
  84. data/spec/sandbox_spec.rb +12 -0
  85. data/spec/spec_helper.rb +18 -0
  86. data/spec/square_brackets_for_spec.rb +59 -0
  87. data/spec/string_spec.rb +65 -0
  88. data/spec/tap_spec.rb +18 -0
  89. data/spec/unary_spec.rb +26 -0
  90. data/spec/union_spec.rb +17 -0
  91. data/spec/version_spec.rb +55 -0
  92. data/zucker.gemspec +21 -0
  93. metadata +139 -323
  94. data/lib/zucker/1/D.rb +0 -21
  95. data/lib/zucker/1/aliases.rb +0 -30
  96. data/lib/zucker/1/all.rb +0 -8
  97. data/lib/zucker/1/array.rb +0 -19
  98. data/lib/zucker/1/array2proc.rb +0 -12
  99. data/lib/zucker/1/binding.rb +0 -27
  100. data/lib/zucker/1/blank.rb +0 -28
  101. data/lib/zucker/1/debug.rb +0 -6
  102. data/lib/zucker/1/default.rb +0 -27
  103. data/lib/zucker/1/egonil.rb +0 -16
  104. data/lib/zucker/1/enumerable.rb +0 -14
  105. data/lib/zucker/1/hash.rb +0 -21
  106. data/lib/zucker/1/iterate.rb +0 -25
  107. data/lib/zucker/1/ivars.rb +0 -28
  108. data/lib/zucker/1/kernel.rb +0 -22
  109. data/lib/zucker/1/mcopy.rb +0 -11
  110. data/lib/zucker/1/mm.rb +0 -33
  111. data/lib/zucker/1/sandbox.rb +0 -17
  112. data/lib/zucker/1/square_brackets_for.rb +0 -22
  113. data/lib/zucker/1/string.rb +0 -27
  114. data/lib/zucker/1/unary.rb +0 -24
  115. data/lib/zucker/1/union.rb +0 -16
  116. data/lib/zucker/2/D.rb +0 -21
  117. data/lib/zucker/2/aliases.rb +0 -30
  118. data/lib/zucker/2/all.rb +0 -8
  119. data/lib/zucker/2/array.rb +0 -19
  120. data/lib/zucker/2/binding.rb +0 -27
  121. data/lib/zucker/2/blank.rb +0 -28
  122. data/lib/zucker/2/class2proc.rb +0 -12
  123. data/lib/zucker/2/debug.rb +0 -6
  124. data/lib/zucker/2/default.rb +0 -27
  125. data/lib/zucker/2/egonil.rb +0 -16
  126. data/lib/zucker/2/enumerable.rb +0 -14
  127. data/lib/zucker/2/hash.rb +0 -21
  128. data/lib/zucker/2/hash2proc.rb +0 -16
  129. data/lib/zucker/2/info.rb +0 -166
  130. data/lib/zucker/2/iterate.rb +0 -25
  131. data/lib/zucker/2/ivars.rb +0 -28
  132. data/lib/zucker/2/kernel.rb +0 -20
  133. data/lib/zucker/2/mcopy.rb +0 -11
  134. data/lib/zucker/2/mm.rb +0 -33
  135. data/lib/zucker/2/regexp2proc.rb +0 -12
  136. data/lib/zucker/2/sandbox.rb +0 -21
  137. data/lib/zucker/2/square_brackets_for.rb +0 -22
  138. data/lib/zucker/2/string.rb +0 -27
  139. data/lib/zucker/2/unary.rb +0 -24
  140. data/lib/zucker/2/union.rb +0 -16
  141. data/lib/zucker/3/D.rb +0 -21
  142. data/lib/zucker/3/alias_for.rb +0 -21
  143. data/lib/zucker/3/aliases.rb +0 -30
  144. data/lib/zucker/3/all.rb +0 -8
  145. data/lib/zucker/3/array.rb +0 -25
  146. data/lib/zucker/3/array2proc.rb +0 -18
  147. data/lib/zucker/3/binding.rb +0 -27
  148. data/lib/zucker/3/blank.rb +0 -28
  149. data/lib/zucker/3/class2proc.rb +0 -12
  150. data/lib/zucker/3/debug.rb +0 -8
  151. data/lib/zucker/3/default.rb +0 -37
  152. data/lib/zucker/3/egonil.rb +0 -16
  153. data/lib/zucker/3/enumerable.rb +0 -14
  154. data/lib/zucker/3/hash.rb +0 -21
  155. data/lib/zucker/3/hash2proc.rb +0 -16
  156. data/lib/zucker/3/info.rb +0 -169
  157. data/lib/zucker/3/iterate.rb +0 -25
  158. data/lib/zucker/3/ivars.rb +0 -28
  159. data/lib/zucker/3/kernel.rb +0 -50
  160. data/lib/zucker/3/mcopy.rb +0 -10
  161. data/lib/zucker/3/mm.rb +0 -33
  162. data/lib/zucker/3/not.rb +0 -19
  163. data/lib/zucker/3/regexp2proc.rb +0 -12
  164. data/lib/zucker/3/sandbox.rb +0 -21
  165. data/lib/zucker/3/square_brackets_for.rb +0 -22
  166. data/lib/zucker/3/string.rb +0 -49
  167. data/lib/zucker/3/tap.rb +0 -11
  168. data/lib/zucker/3/unary.rb +0 -24
  169. data/lib/zucker/3/union.rb +0 -16
  170. data/lib/zucker/4/D.rb +0 -21
  171. data/lib/zucker/4/alias_for.rb +0 -21
  172. data/lib/zucker/4/aliases.rb +0 -35
  173. data/lib/zucker/4/all.rb +0 -8
  174. data/lib/zucker/4/array.rb +0 -25
  175. data/lib/zucker/4/array2proc.rb +0 -18
  176. data/lib/zucker/4/binding.rb +0 -27
  177. data/lib/zucker/4/blank.rb +0 -28
  178. data/lib/zucker/4/class2proc.rb +0 -12
  179. data/lib/zucker/4/debug.rb +0 -8
  180. data/lib/zucker/4/default.rb +0 -40
  181. data/lib/zucker/4/egonil.rb +0 -16
  182. data/lib/zucker/4/engine.rb +0 -69
  183. data/lib/zucker/4/enumerable.rb +0 -14
  184. data/lib/zucker/4/hash.rb +0 -21
  185. data/lib/zucker/4/hash2proc.rb +0 -16
  186. data/lib/zucker/4/info.rb +0 -173
  187. data/lib/zucker/4/iterate.rb +0 -25
  188. data/lib/zucker/4/ivars.rb +0 -28
  189. data/lib/zucker/4/kernel.rb +0 -27
  190. data/lib/zucker/4/mcopy.rb +0 -10
  191. data/lib/zucker/4/mm.rb +0 -33
  192. data/lib/zucker/4/not.rb +0 -19
  193. data/lib/zucker/4/os.rb +0 -50
  194. data/lib/zucker/4/q.rb +0 -7
  195. data/lib/zucker/4/regexp2proc.rb +0 -12
  196. data/lib/zucker/4/sandbox.rb +0 -23
  197. data/lib/zucker/4/square_brackets_for.rb +0 -22
  198. data/lib/zucker/4/string.rb +0 -54
  199. data/lib/zucker/4/tap.rb +0 -11
  200. data/lib/zucker/4/unary.rb +0 -24
  201. data/lib/zucker/4/union.rb +0 -16
  202. data/lib/zucker/4/version.rb +0 -115
  203. data/lib/zucker/5/alias_for.rb +0 -21
  204. data/lib/zucker/5/aliases.rb +0 -51
  205. data/lib/zucker/5/all.rb +0 -4
  206. data/lib/zucker/5/array.rb +0 -25
  207. data/lib/zucker/5/array2proc.rb +0 -18
  208. data/lib/zucker/5/binding.rb +0 -34
  209. data/lib/zucker/5/blank.rb +0 -28
  210. data/lib/zucker/5/cc.rb +0 -25
  211. data/lib/zucker/5/class2proc.rb +0 -12
  212. data/lib/zucker/5/control.rb +0 -4
  213. data/lib/zucker/5/dd.rb +0 -24
  214. data/lib/zucker/5/debug.rb +0 -4
  215. data/lib/zucker/5/default.rb +0 -4
  216. data/lib/zucker/5/egonil.rb +0 -16
  217. data/lib/zucker/5/engine.rb +0 -69
  218. data/lib/zucker/5/enumerable.rb +0 -14
  219. data/lib/zucker/5/env.rb +0 -4
  220. data/lib/zucker/5/extensions.rb +0 -4
  221. data/lib/zucker/5/hash.rb +0 -27
  222. data/lib/zucker/5/hash2proc.rb +0 -16
  223. data/lib/zucker/5/info.rb +0 -177
  224. data/lib/zucker/5/iterate.rb +0 -26
  225. data/lib/zucker/5/ivars.rb +0 -28
  226. data/lib/zucker/5/kernel.rb +0 -34
  227. data/lib/zucker/5/mcopy.rb +0 -10
  228. data/lib/zucker/5/mm.rb +0 -34
  229. data/lib/zucker/5/not.rb +0 -19
  230. data/lib/zucker/5/object.rb +0 -4
  231. data/lib/zucker/5/oo.rb +0 -17
  232. data/lib/zucker/5/os.rb +0 -49
  233. data/lib/zucker/5/qq.rb +0 -12
  234. data/lib/zucker/5/regexp2proc.rb +0 -12
  235. data/lib/zucker/5/sandbox.rb +0 -25
  236. data/lib/zucker/5/shortcuts.rb +0 -4
  237. data/lib/zucker/5/square_brackets_for.rb +0 -21
  238. data/lib/zucker/5/string.rb +0 -54
  239. data/lib/zucker/5/tap.rb +0 -11
  240. data/lib/zucker/5/to_proc.rb +0 -4
  241. data/lib/zucker/5/unary.rb +0 -24
  242. data/lib/zucker/5/union.rb +0 -16
  243. data/lib/zucker/5/version.rb +0 -118
  244. data/lib/zucker/6/alias_for.rb +0 -21
  245. data/lib/zucker/6/aliases.rb +0 -51
  246. data/lib/zucker/6/all.rb +0 -4
  247. data/lib/zucker/6/array.rb +0 -25
  248. data/lib/zucker/6/array2proc.rb +0 -18
  249. data/lib/zucker/6/binding.rb +0 -34
  250. data/lib/zucker/6/blank.rb +0 -28
  251. data/lib/zucker/6/cc.rb +0 -25
  252. data/lib/zucker/6/class2proc.rb +0 -12
  253. data/lib/zucker/6/control.rb +0 -4
  254. data/lib/zucker/6/dd.rb +0 -23
  255. data/lib/zucker/6/debug.rb +0 -4
  256. data/lib/zucker/6/default.rb +0 -4
  257. data/lib/zucker/6/egonil.rb +0 -27
  258. data/lib/zucker/6/engine.rb +0 -68
  259. data/lib/zucker/6/enumerable.rb +0 -14
  260. data/lib/zucker/6/env.rb +0 -4
  261. data/lib/zucker/6/extensions.rb +0 -4
  262. data/lib/zucker/6/hash.rb +0 -27
  263. data/lib/zucker/6/hash2proc.rb +0 -16
  264. data/lib/zucker/6/info.rb +0 -192
  265. data/lib/zucker/6/iterate.rb +0 -27
  266. data/lib/zucker/6/ivars.rb +0 -28
  267. data/lib/zucker/6/kernel.rb +0 -34
  268. data/lib/zucker/6/mcopy.rb +0 -10
  269. data/lib/zucker/6/mm.rb +0 -34
  270. data/lib/zucker/6/not.rb +0 -19
  271. data/lib/zucker/6/object.rb +0 -4
  272. data/lib/zucker/6/oo.rb +0 -17
  273. data/lib/zucker/6/os.rb +0 -54
  274. data/lib/zucker/6/qq.rb +0 -12
  275. data/lib/zucker/6/regexp2proc.rb +0 -12
  276. data/lib/zucker/6/sandbox.rb +0 -25
  277. data/lib/zucker/6/shortcuts.rb +0 -4
  278. data/lib/zucker/6/square_brackets_for.rb +0 -21
  279. data/lib/zucker/6/string.rb +0 -54
  280. data/lib/zucker/6/tap.rb +0 -11
  281. data/lib/zucker/6/to_proc.rb +0 -4
  282. data/lib/zucker/6/unary.rb +0 -24
  283. data/lib/zucker/6/union.rb +0 -16
  284. data/lib/zucker/6/version.rb +0 -118
  285. data/lib/zucker/7/alias_for.rb +0 -21
  286. data/lib/zucker/7/aliases.rb +0 -51
  287. data/lib/zucker/7/all.rb +0 -4
  288. data/lib/zucker/7/array.rb +0 -25
  289. data/lib/zucker/7/array2proc.rb +0 -18
  290. data/lib/zucker/7/binding.rb +0 -34
  291. data/lib/zucker/7/blank.rb +0 -28
  292. data/lib/zucker/7/cc.rb +0 -25
  293. data/lib/zucker/7/class2proc.rb +0 -12
  294. data/lib/zucker/7/control.rb +0 -4
  295. data/lib/zucker/7/dd.rb +0 -23
  296. data/lib/zucker/7/debug.rb +0 -4
  297. data/lib/zucker/7/default.rb +0 -4
  298. data/lib/zucker/7/egonil.rb +0 -27
  299. data/lib/zucker/7/engine.rb +0 -68
  300. data/lib/zucker/7/enumerable.rb +0 -14
  301. data/lib/zucker/7/env.rb +0 -4
  302. data/lib/zucker/7/extensions.rb +0 -4
  303. data/lib/zucker/7/hash.rb +0 -27
  304. data/lib/zucker/7/hash2proc.rb +0 -16
  305. data/lib/zucker/7/info.rb +0 -192
  306. data/lib/zucker/7/iterate.rb +0 -27
  307. data/lib/zucker/7/ivars.rb +0 -28
  308. data/lib/zucker/7/kernel.rb +0 -34
  309. data/lib/zucker/7/mcopy.rb +0 -10
  310. data/lib/zucker/7/mm.rb +0 -34
  311. data/lib/zucker/7/not.rb +0 -19
  312. data/lib/zucker/7/object.rb +0 -4
  313. data/lib/zucker/7/oo.rb +0 -17
  314. data/lib/zucker/7/os.rb +0 -54
  315. data/lib/zucker/7/qq.rb +0 -12
  316. data/lib/zucker/7/regexp2proc.rb +0 -12
  317. data/lib/zucker/7/sandbox.rb +0 -25
  318. data/lib/zucker/7/shortcuts.rb +0 -4
  319. data/lib/zucker/7/square_brackets_for.rb +0 -21
  320. data/lib/zucker/7/string.rb +0 -54
  321. data/lib/zucker/7/tap.rb +0 -11
  322. data/lib/zucker/7/to_proc.rb +0 -4
  323. data/lib/zucker/7/unary.rb +0 -24
  324. data/lib/zucker/7/union.rb +0 -16
  325. data/lib/zucker/7/version.rb +0 -118
  326. data/lib/zucker/8/alias_for.rb +0 -21
  327. data/lib/zucker/8/aliases.rb +0 -51
  328. data/lib/zucker/8/all.rb +0 -4
  329. data/lib/zucker/8/array.rb +0 -25
  330. data/lib/zucker/8/array2proc.rb +0 -18
  331. data/lib/zucker/8/binding.rb +0 -33
  332. data/lib/zucker/8/blank.rb +0 -28
  333. data/lib/zucker/8/cc.rb +0 -25
  334. data/lib/zucker/8/class2proc.rb +0 -12
  335. data/lib/zucker/8/control.rb +0 -4
  336. data/lib/zucker/8/dd.rb +0 -23
  337. data/lib/zucker/8/debug.rb +0 -4
  338. data/lib/zucker/8/default.rb +0 -4
  339. data/lib/zucker/8/egonil.rb +0 -27
  340. data/lib/zucker/8/engine.rb +0 -68
  341. data/lib/zucker/8/enumerable.rb +0 -14
  342. data/lib/zucker/8/env.rb +0 -4
  343. data/lib/zucker/8/extensions.rb +0 -4
  344. data/lib/zucker/8/hash.rb +0 -27
  345. data/lib/zucker/8/hash2proc.rb +0 -16
  346. data/lib/zucker/8/info.rb +0 -192
  347. data/lib/zucker/8/iterate.rb +0 -27
  348. data/lib/zucker/8/ivars.rb +0 -28
  349. data/lib/zucker/8/kernel.rb +0 -34
  350. data/lib/zucker/8/mcopy.rb +0 -10
  351. data/lib/zucker/8/mm.rb +0 -34
  352. data/lib/zucker/8/not.rb +0 -19
  353. data/lib/zucker/8/object.rb +0 -4
  354. data/lib/zucker/8/oo.rb +0 -17
  355. data/lib/zucker/8/os.rb +0 -54
  356. data/lib/zucker/8/qq.rb +0 -12
  357. data/lib/zucker/8/regexp2proc.rb +0 -12
  358. data/lib/zucker/8/sandbox.rb +0 -25
  359. data/lib/zucker/8/shortcuts.rb +0 -4
  360. data/lib/zucker/8/square_brackets_for.rb +0 -21
  361. data/lib/zucker/8/string.rb +0 -54
  362. data/lib/zucker/8/tap.rb +0 -11
  363. data/lib/zucker/8/to_proc.rb +0 -4
  364. data/lib/zucker/8/unary.rb +0 -24
  365. data/lib/zucker/8/union.rb +0 -16
  366. data/lib/zucker/8/version.rb +0 -118
@@ -2,21 +2,21 @@
2
2
 
3
3
  module Zucker
4
4
  # version and date get modified by the :prepare_release rake task
5
- VERSION = '8'
6
- DATE = '2010-10-06'
5
+ VERSION = '9'
6
+ DATE = '2011-01-22'
7
7
 
8
8
  # cube list
9
9
  PACKAGES = {
10
10
  :control => %w|egonil iterate tap sandbox kernel|,
11
11
  :env => %w|engine info os version|,
12
- :extensions => %w|array enumerable hash string unary union|,
12
+ :extensions => %w|array enumerable file hash string unary union|,
13
13
  :object => %w|blank mcopy not|,
14
- :to_proc => %w|array2proc class2proc hash2proc regexp2proc|,
14
+ :to_proc => %w|array_to_proc class_to_proc hash_to_proc regexp_to_proc|,
15
15
  :shortcuts => %w|aliases alias_for square_brackets_for ivars|,
16
- :debug => %w|binding cc dd mm oo qq|,
16
+ :debug => %w|binding cc dd mm oo qq regexp_visualize|,
17
17
  }
18
18
 
19
- NON_1_8_CUBES = %w|not tap union|
19
+ NON_1_8_CUBES = %w|not|
20
20
 
21
21
  class << self
22
22
  # Zucker require helpers
@@ -50,7 +50,7 @@ module Zucker
50
50
  }.compact
51
51
  end
52
52
 
53
- # these aliases 'pollute' the global namespace or may conflict with other codee
53
+ # these aliases 'pollute' the global namespace or may conflict with other code
54
54
  def activate_more_aliases!
55
55
  aliases = {
56
56
  :mcopy => :copy,
@@ -62,18 +62,19 @@ module Zucker
62
62
  }
63
63
 
64
64
  loaded_aliases = []
65
+
65
66
  aliases.each{ |old, new|
66
67
  Object.class_eval "alias #{new} #{old}; loaded_aliases << :#{new}" rescue nil
67
68
  }
68
69
 
69
70
  #eval "::RV = RubyVersion; loaded_aliases << :RV" rescue nil
70
71
  (
71
- Object.const_set '::RV', RubyVersion
72
+ Object.const_set 'RV', RubyVersion
72
73
  loaded_aliases << :RV
73
74
  ) rescue nil
74
75
  #eval "::RE = RubyEngine; loaded_aliases << :RE" rescue nil
75
76
  (
76
- Object.const_set '::RE', RubyEngine
77
+ Object.const_set 'RE', RubyEngine
77
78
  loaded_aliases << :RE
78
79
  ) rescue nil
79
80
 
@@ -1,18 +1,2 @@
1
- require 'zucker'
2
-
3
- class Array
4
- def to_proc
5
- Proc.new{ |obj|
6
- if self.first.is_a? Array
7
- self.inject(obj){ |result, nested_array|
8
- nested_array.to_proc.call result
9
- }
10
- else
11
- obj.send *self
12
- end
13
- }
14
- end
15
- end
16
-
17
- # J-_-L
18
-
1
+ warn 'Zucker: array2proc has been renamed. Please use array_to_proc!'
2
+ require 'zucker/array_to_proc'
@@ -7,17 +7,16 @@ class Binding
7
7
  ' - none'
8
8
  else
9
9
  array.map{|e|
10
- val = self.eval "#{e}"
11
- val = val.is_a?( Binding ) ? val.to_s : val.inspect
10
+ val = (self.eval "#{e}").inspect
12
11
  " - #{e}: #{ val }"
13
12
  }.join "\n"
14
13
  end
15
14
  }
16
15
 
17
- "#{self.to_s}
18
- local vars
16
+ puts "#{self.to_s}
17
+ local variables
19
18
  #{ put_vars[ self.eval 'local_variables' ] }
20
- (instance vars)
19
+ (instance variables)
21
20
  #{ put_vars[ self.eval 'instance_variables' ] }
22
21
  self
23
22
  - #{self.eval 'self'}
@@ -9,14 +9,19 @@ module Kernel
9
9
  $2
10
10
  }.compact
11
11
 
12
- if !show_irb && a = method_stack.index( 'irb_binding' )
13
- method_stack = [ method_stack[0], '(irb)', *method_stack[a+1..-1] ]
12
+ if !show_irb
13
+ if a = method_stack.index( 'irb_binding' )
14
+ method_stack = [ method_stack[0], '(irb)', *method_stack[a+1..-1] ]
15
+ elsif a = method_stack[1..-1].index( '<main>' )
16
+ method_stack = [ method_stack[0], '(ripl)', *method_stack[a+2..-1] ]
17
+ end
14
18
  end
15
19
 
16
20
  # puts method_stack.map.with_index{ |m, i|
17
21
  method_stack.each_with_index{ |m, i|
18
22
  puts " "*i + m
19
23
  }
24
+ nil
20
25
  end
21
26
 
22
27
  alias cc c
@@ -1,12 +1,2 @@
1
- require 'zucker'
2
-
3
- class Class
4
- def to_proc
5
- Proc.new do |*args|
6
- self.new *args
7
- end
8
- end
9
- end
10
-
11
- # J-_-L
12
-
1
+ warn 'Zucker: class2proc has been renamed. Please use class_to_proc!'
2
+ require 'zucker/class_to_proc'
@@ -0,0 +1,22 @@
1
+ class << File
2
+ def gsub(filename, regex_hash)
3
+ data = File.read filename
4
+ File.open(filename,'w'){ |file|
5
+ regex_hash.each{ |regex, new_string|
6
+ regex = regex.to_s unless regex.is_a? Regexp
7
+
8
+ if new_string.is_a? Proc
9
+ data.gsub! regex, &new_string
10
+ else
11
+ data.gsub! regex, new_string
12
+ end
13
+ }
14
+ file.print data
15
+ }
16
+ end
17
+
18
+ def delete! filename
19
+ return nil if !File.exist?(filename)
20
+ File.delete filename
21
+ end
22
+ end
@@ -1,16 +1,2 @@
1
- require 'zucker'
2
-
3
- class Hash
4
- def to_proc
5
- Proc.new{ |obj|
6
- if self.member? obj
7
- self[obj].to_proc.call obj
8
- else
9
- obj
10
- end
11
- }
12
- end
13
- end
14
-
15
- # J-_-L
16
-
1
+ warn 'Zucker: hash2proc has been renamed. Please use hash_to_proc!'
2
+ require 'zucker/hash_to_proc'
@@ -21,13 +21,15 @@ module Kernel
21
21
  $PROGRAM_NAME == $` # __FILE__
22
22
  end
23
23
  alias standalone? executed_directly?
24
+ alias directly_executed? executed_directly?
24
25
 
25
26
  def irb?
26
- !!(( IRB and $0 == 'irb' ) rescue nil)
27
+ (defined?(IRB) && $0 =~ /irb/) || (defined?(Ripl) && $0 =~ /ripl/)
27
28
  end
28
29
 
29
30
  def ignore_sigint! # ctrl+c
30
- Signal.trap *%w|SIGINT IGNORE|
31
+ Signal.trap *%w|SIGINT IGNORE|
32
+ true
31
33
  end
32
34
  end
33
35
 
@@ -2,28 +2,34 @@ require 'zucker'
2
2
 
3
3
  module Kernel
4
4
  def m(levels = 1)
5
+ # output helper
6
+ mputs = proc{ |e| puts e.map(&:to_s)*' ' }
7
+
8
+ # how to get results
5
9
  if self.is_a? Module
6
10
  klass, method_function = self, :public_methods
7
11
  else
8
12
  klass, method_function = self.class, :public_instance_methods
13
+ end
9
14
 
10
- eigen = self.singleton_methods
11
- if !eigen.empty?
12
- puts :Eigenclass # sorry for not being up to date, I just love the word
13
- p self.singleton_methods
14
- end
15
+ # eigenclass
16
+ eigen = self.singleton_methods
17
+ if !eigen.empty?
18
+ puts '= Eigenclass' # sorry for not being up to date, I just love the word
19
+ mputs[ self.singleton_methods ]
15
20
  end
16
21
 
22
+ # display
17
23
  levels.times{ |level|
18
24
  if cur = klass.ancestors[level]
19
- p cur # put class name
20
- p cur.send method_function, false # put methods of the class
25
+ puts "= #{cur}" # put class name
26
+ mputs[ cur.send method_function, false ] # put methods of the class
21
27
  else
22
28
  break
23
29
  end
24
30
  }
25
31
 
26
- self # or whatever
32
+ nil
27
33
  end
28
34
 
29
35
  alias mm m
@@ -1,12 +1,2 @@
1
- require 'zucker'
2
-
3
- class Regexp
4
- def to_proc
5
- proc do |e|
6
- e.to_s[self]
7
- end
8
- end
9
- end
10
-
11
- # J-_-L
12
-
1
+ warn 'Zucker: regexp2proc has been renamed. Please use regexp_to_proc!'
2
+ require 'zucker/regexp_to_proc'
@@ -0,0 +1,26 @@
1
+ class Regexp
2
+ def visualize(string, groups = nil)
3
+ if self =~ string
4
+ if !groups
5
+ puts $` + ' >' + $& + '< ' + $'
6
+ else
7
+ Array( groups ).each{ |group|
8
+ begin
9
+ gr_string = string.dup
10
+ gr_string[ $~.end( group ), 0 ] = '< '
11
+ gr_string[ $~.begin( group ), 0 ] = ' >'
12
+ puts group.to_s + ': ' + gr_string
13
+ rescue IndexError
14
+ puts group.to_s + ': no match'
15
+ end
16
+ }
17
+ end
18
+ else
19
+ puts 'no match'
20
+ end
21
+
22
+ nil
23
+ end
24
+
25
+ alias vis visualize
26
+ end
@@ -3,21 +3,11 @@ require 'zucker'
3
3
  module Kernel
4
4
  private
5
5
 
6
- def sandbox(rescueblock_or_default=nil)
6
+ def sandbox
7
7
  Thread.start do
8
8
  $SAFE = 4
9
9
  yield
10
10
  end.value
11
- rescue SecurityError => e
12
- if !rescueblock_or_default.nil?
13
- if rescueblock_or_default.is_a? Proc
14
- rescueblock_or_default.call e
15
- else
16
- rescueblock_or_default
17
- end
18
- else
19
- raise e
20
- end
21
11
  end
22
12
  end
23
13
 
@@ -0,0 +1,117 @@
1
+ require 'zucker/alias_for'
2
+
3
+ describe 'alias_for' do
4
+ it 'should create an alias for global methods' do
5
+ # rspec bug?
6
+ # def m1
7
+ # 1
8
+ # end
9
+ # alias_for :m1, :a1
10
+ #
11
+ # proc do
12
+ # a1.should == 1
13
+ # end.should_not raise_exception
14
+ end
15
+
16
+ it 'should create an alias for instance methods' do
17
+ class Array
18
+ def m2
19
+ 2
20
+ end
21
+ alias_for :m2, :a2
22
+ end
23
+ proc do
24
+
25
+ [1,2,3].a2.should == 2
26
+ end.should_not raise_exception
27
+ end
28
+
29
+ it 'should create an alias for class (singleton) methods' do
30
+ class Array
31
+ class << Array
32
+ def m3
33
+ 3
34
+ end
35
+ alias_for :m3, :a3
36
+ end
37
+ end
38
+
39
+ proc do
40
+ Array.a3.should == 3
41
+ end.should_not raise_exception
42
+ end
43
+
44
+
45
+ it 'should create aliases for the first argument with all other arguments' do
46
+ class Object
47
+ def m4
48
+ 4
49
+ end
50
+ alias_for :m4, :ma, :mb, :mc
51
+ end
52
+ proc do
53
+ 1.ma.should == 4
54
+ "1".mb.should == 4
55
+ [1].mc.should == 4
56
+ end.should_not raise_exception
57
+ end
58
+ end
59
+
60
+ # alias_method
61
+ module Blip
62
+ def blip
63
+ 'blip'
64
+ end
65
+ alias_methods_for :blip, :blap, :blup
66
+
67
+ class << self
68
+ def self_blip
69
+ 'blip'
70
+ end
71
+ alias_methods_for :self_blip, :self_blap, :self_blup
72
+ end
73
+ end
74
+
75
+ class Hello
76
+ include Blip
77
+
78
+ def hello
79
+ 'hello'
80
+ end
81
+ alias_methods_for :hello, :hi, :howdy
82
+
83
+ class << self
84
+ def self_hello
85
+ 'hello'
86
+ end
87
+ alias_methods_for :self_hello, :self_hi, :self_howdy
88
+ end
89
+ end
90
+
91
+ describe 'alias_methods_for' do
92
+ let(:h) { Hello.new }
93
+
94
+ context "module context" do
95
+ it "should alias instance methods" do
96
+ h.blap.should == h.blip
97
+ h.blup.should == h.blip
98
+ end
99
+
100
+ it "should alias class methods" do
101
+ Blip.self_blap.should == Blip.self_blip
102
+ Blip.self_blup.should == Blip.self_blip
103
+ end
104
+ end
105
+
106
+ context "class context" do
107
+ it "should alias instance methods" do
108
+ h.hi.should == h.hello
109
+ h.howdy.should == h.hello
110
+ end
111
+
112
+ it "should alias class methods" do
113
+ Hello.self_hi.should == Hello.self_hello
114
+ Hello.self_howdy.should == Hello.self_hello
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,13 @@
1
+ require 'zucker/aliases'
2
+
3
+ describe '(aliases)' do
4
+ it 'should create these aliases' do
5
+ # see aliases.rb for aliase list
6
+ end
7
+
8
+ it 'should define these constants' do
9
+ Infinity.finite?.should == false
10
+ NaN.nan?.should == true
11
+ end
12
+ end
13
+