zucker 8 → 9
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +14 -0
- data/MIT-LICENSE +1 -1
- data/README +1 -1
- data/Rakefile +33 -40
- data/desc/alias_for.yaml +17 -0
- data/desc/aliases.yaml +18 -0
- data/desc/array.yaml +13 -0
- data/desc/array_to_proc.yaml +16 -0
- data/desc/binding.yaml +22 -0
- data/desc/blank.yaml +9 -0
- data/desc/cc.yaml +10 -0
- data/desc/class_to_proc.yaml +11 -0
- data/desc/dd.yaml +23 -0
- data/desc/egonil.yaml +15 -0
- data/desc/engine.yaml +15 -0
- data/desc/enumerable.yaml +10 -0
- data/desc/file.yaml +15 -0
- data/desc/hash.yaml +14 -0
- data/desc/hash_to_proc.yaml +10 -0
- data/desc/info.yaml +20 -0
- data/desc/iterate.yaml +16 -0
- data/desc/ivars.yaml +19 -0
- data/desc/kernel.yaml +14 -0
- data/desc/mcopy.yaml +11 -0
- data/desc/mm.yaml +15 -0
- data/desc/not.yaml +11 -0
- data/desc/oo.yaml +10 -0
- data/desc/os.yaml +19 -0
- data/desc/qq.yaml +11 -0
- data/desc/regexp_to_proc.yaml +12 -0
- data/desc/regexp_visualize.yaml +23 -0
- data/desc/sandbox.yaml +12 -0
- data/desc/square_brackets_for.yaml +22 -0
- data/desc/string.yaml +23 -0
- data/desc/tap.yaml +17 -0
- data/desc/unary.yaml +15 -0
- data/desc/union.yaml +10 -0
- data/desc/version.yaml +28 -0
- data/doc/zucker_doc.html +2688 -0
- data/doc/zucker_doc.rb +553 -0
- data/lib/zucker.rb +10 -9
- data/lib/zucker/array2proc.rb +2 -18
- data/lib/zucker/{2/array2proc.rb → array_to_proc.rb} +0 -0
- data/lib/zucker/binding.rb +4 -5
- data/lib/zucker/cc.rb +7 -2
- data/lib/zucker/class2proc.rb +2 -12
- data/lib/zucker/{1/class2proc.rb → class_to_proc.rb} +0 -0
- data/lib/zucker/file.rb +22 -0
- data/lib/zucker/hash2proc.rb +2 -16
- data/lib/zucker/{1/hash2proc.rb → hash_to_proc.rb} +0 -0
- data/lib/zucker/kernel.rb +4 -2
- data/lib/zucker/mm.rb +14 -8
- data/lib/zucker/regexp2proc.rb +2 -12
- data/lib/zucker/{1/regexp2proc.rb → regexp_to_proc.rb} +0 -0
- data/lib/zucker/regexp_visualize.rb +26 -0
- data/lib/zucker/sandbox.rb +1 -11
- data/spec/alias_for_spec.rb +117 -0
- data/spec/aliases_spec.rb +13 -0
- data/spec/array_spec.rb +23 -0
- data/spec/array_to_proc_spec.rb +12 -0
- data/spec/binding_spec.rb +6 -0
- data/spec/blank_spec.rb +20 -0
- data/spec/cc_spec.rb +6 -0
- data/spec/class_to_proc_spec.rb +9 -0
- data/spec/dd_spec.rb +37 -0
- data/spec/egonil_spec.rb +32 -0
- data/spec/engine_spec.rb +11 -0
- data/spec/enumerable_spec.rb +8 -0
- data/spec/file_spec.rb +30 -0
- data/spec/hash_spec.rb +25 -0
- data/spec/hash_to_proc_spec.rb +12 -0
- data/spec/info_spec.rb +8 -0
- data/spec/iterate_spec.rb +59 -0
- data/spec/ivars_spec.rb +20 -0
- data/spec/kernel_spec.rb +37 -0
- data/spec/mcopy_spec.rb +13 -0
- data/spec/mm_spec.rb +6 -0
- data/spec/not_spec.rb +12 -0
- data/spec/oo_spec.rb +6 -0
- data/spec/os_spec.rb +37 -0
- data/spec/qq_spec.rb +19 -0
- data/spec/regexp_to_proc_spec.rb +9 -0
- data/spec/regexp_visualize_spec.rb +38 -0
- data/spec/sandbox_spec.rb +12 -0
- data/spec/spec_helper.rb +18 -0
- data/spec/square_brackets_for_spec.rb +59 -0
- data/spec/string_spec.rb +65 -0
- data/spec/tap_spec.rb +18 -0
- data/spec/unary_spec.rb +26 -0
- data/spec/union_spec.rb +17 -0
- data/spec/version_spec.rb +55 -0
- data/zucker.gemspec +21 -0
- metadata +139 -323
- data/lib/zucker/1/D.rb +0 -21
- data/lib/zucker/1/aliases.rb +0 -30
- data/lib/zucker/1/all.rb +0 -8
- data/lib/zucker/1/array.rb +0 -19
- data/lib/zucker/1/array2proc.rb +0 -12
- data/lib/zucker/1/binding.rb +0 -27
- data/lib/zucker/1/blank.rb +0 -28
- data/lib/zucker/1/debug.rb +0 -6
- data/lib/zucker/1/default.rb +0 -27
- data/lib/zucker/1/egonil.rb +0 -16
- data/lib/zucker/1/enumerable.rb +0 -14
- data/lib/zucker/1/hash.rb +0 -21
- data/lib/zucker/1/iterate.rb +0 -25
- data/lib/zucker/1/ivars.rb +0 -28
- data/lib/zucker/1/kernel.rb +0 -22
- data/lib/zucker/1/mcopy.rb +0 -11
- data/lib/zucker/1/mm.rb +0 -33
- data/lib/zucker/1/sandbox.rb +0 -17
- data/lib/zucker/1/square_brackets_for.rb +0 -22
- data/lib/zucker/1/string.rb +0 -27
- data/lib/zucker/1/unary.rb +0 -24
- data/lib/zucker/1/union.rb +0 -16
- data/lib/zucker/2/D.rb +0 -21
- data/lib/zucker/2/aliases.rb +0 -30
- data/lib/zucker/2/all.rb +0 -8
- data/lib/zucker/2/array.rb +0 -19
- data/lib/zucker/2/binding.rb +0 -27
- data/lib/zucker/2/blank.rb +0 -28
- data/lib/zucker/2/class2proc.rb +0 -12
- data/lib/zucker/2/debug.rb +0 -6
- data/lib/zucker/2/default.rb +0 -27
- data/lib/zucker/2/egonil.rb +0 -16
- data/lib/zucker/2/enumerable.rb +0 -14
- data/lib/zucker/2/hash.rb +0 -21
- data/lib/zucker/2/hash2proc.rb +0 -16
- data/lib/zucker/2/info.rb +0 -166
- data/lib/zucker/2/iterate.rb +0 -25
- data/lib/zucker/2/ivars.rb +0 -28
- data/lib/zucker/2/kernel.rb +0 -20
- data/lib/zucker/2/mcopy.rb +0 -11
- data/lib/zucker/2/mm.rb +0 -33
- data/lib/zucker/2/regexp2proc.rb +0 -12
- data/lib/zucker/2/sandbox.rb +0 -21
- data/lib/zucker/2/square_brackets_for.rb +0 -22
- data/lib/zucker/2/string.rb +0 -27
- data/lib/zucker/2/unary.rb +0 -24
- data/lib/zucker/2/union.rb +0 -16
- data/lib/zucker/3/D.rb +0 -21
- data/lib/zucker/3/alias_for.rb +0 -21
- data/lib/zucker/3/aliases.rb +0 -30
- data/lib/zucker/3/all.rb +0 -8
- data/lib/zucker/3/array.rb +0 -25
- data/lib/zucker/3/array2proc.rb +0 -18
- data/lib/zucker/3/binding.rb +0 -27
- data/lib/zucker/3/blank.rb +0 -28
- data/lib/zucker/3/class2proc.rb +0 -12
- data/lib/zucker/3/debug.rb +0 -8
- data/lib/zucker/3/default.rb +0 -37
- data/lib/zucker/3/egonil.rb +0 -16
- data/lib/zucker/3/enumerable.rb +0 -14
- data/lib/zucker/3/hash.rb +0 -21
- data/lib/zucker/3/hash2proc.rb +0 -16
- data/lib/zucker/3/info.rb +0 -169
- data/lib/zucker/3/iterate.rb +0 -25
- data/lib/zucker/3/ivars.rb +0 -28
- data/lib/zucker/3/kernel.rb +0 -50
- data/lib/zucker/3/mcopy.rb +0 -10
- data/lib/zucker/3/mm.rb +0 -33
- data/lib/zucker/3/not.rb +0 -19
- data/lib/zucker/3/regexp2proc.rb +0 -12
- data/lib/zucker/3/sandbox.rb +0 -21
- data/lib/zucker/3/square_brackets_for.rb +0 -22
- data/lib/zucker/3/string.rb +0 -49
- data/lib/zucker/3/tap.rb +0 -11
- data/lib/zucker/3/unary.rb +0 -24
- data/lib/zucker/3/union.rb +0 -16
- data/lib/zucker/4/D.rb +0 -21
- data/lib/zucker/4/alias_for.rb +0 -21
- data/lib/zucker/4/aliases.rb +0 -35
- data/lib/zucker/4/all.rb +0 -8
- data/lib/zucker/4/array.rb +0 -25
- data/lib/zucker/4/array2proc.rb +0 -18
- data/lib/zucker/4/binding.rb +0 -27
- data/lib/zucker/4/blank.rb +0 -28
- data/lib/zucker/4/class2proc.rb +0 -12
- data/lib/zucker/4/debug.rb +0 -8
- data/lib/zucker/4/default.rb +0 -40
- data/lib/zucker/4/egonil.rb +0 -16
- data/lib/zucker/4/engine.rb +0 -69
- data/lib/zucker/4/enumerable.rb +0 -14
- data/lib/zucker/4/hash.rb +0 -21
- data/lib/zucker/4/hash2proc.rb +0 -16
- data/lib/zucker/4/info.rb +0 -173
- data/lib/zucker/4/iterate.rb +0 -25
- data/lib/zucker/4/ivars.rb +0 -28
- data/lib/zucker/4/kernel.rb +0 -27
- data/lib/zucker/4/mcopy.rb +0 -10
- data/lib/zucker/4/mm.rb +0 -33
- data/lib/zucker/4/not.rb +0 -19
- data/lib/zucker/4/os.rb +0 -50
- data/lib/zucker/4/q.rb +0 -7
- data/lib/zucker/4/regexp2proc.rb +0 -12
- data/lib/zucker/4/sandbox.rb +0 -23
- data/lib/zucker/4/square_brackets_for.rb +0 -22
- data/lib/zucker/4/string.rb +0 -54
- data/lib/zucker/4/tap.rb +0 -11
- data/lib/zucker/4/unary.rb +0 -24
- data/lib/zucker/4/union.rb +0 -16
- data/lib/zucker/4/version.rb +0 -115
- data/lib/zucker/5/alias_for.rb +0 -21
- data/lib/zucker/5/aliases.rb +0 -51
- data/lib/zucker/5/all.rb +0 -4
- data/lib/zucker/5/array.rb +0 -25
- data/lib/zucker/5/array2proc.rb +0 -18
- data/lib/zucker/5/binding.rb +0 -34
- data/lib/zucker/5/blank.rb +0 -28
- data/lib/zucker/5/cc.rb +0 -25
- data/lib/zucker/5/class2proc.rb +0 -12
- data/lib/zucker/5/control.rb +0 -4
- data/lib/zucker/5/dd.rb +0 -24
- data/lib/zucker/5/debug.rb +0 -4
- data/lib/zucker/5/default.rb +0 -4
- data/lib/zucker/5/egonil.rb +0 -16
- data/lib/zucker/5/engine.rb +0 -69
- data/lib/zucker/5/enumerable.rb +0 -14
- data/lib/zucker/5/env.rb +0 -4
- data/lib/zucker/5/extensions.rb +0 -4
- data/lib/zucker/5/hash.rb +0 -27
- data/lib/zucker/5/hash2proc.rb +0 -16
- data/lib/zucker/5/info.rb +0 -177
- data/lib/zucker/5/iterate.rb +0 -26
- data/lib/zucker/5/ivars.rb +0 -28
- data/lib/zucker/5/kernel.rb +0 -34
- data/lib/zucker/5/mcopy.rb +0 -10
- data/lib/zucker/5/mm.rb +0 -34
- data/lib/zucker/5/not.rb +0 -19
- data/lib/zucker/5/object.rb +0 -4
- data/lib/zucker/5/oo.rb +0 -17
- data/lib/zucker/5/os.rb +0 -49
- data/lib/zucker/5/qq.rb +0 -12
- data/lib/zucker/5/regexp2proc.rb +0 -12
- data/lib/zucker/5/sandbox.rb +0 -25
- data/lib/zucker/5/shortcuts.rb +0 -4
- data/lib/zucker/5/square_brackets_for.rb +0 -21
- data/lib/zucker/5/string.rb +0 -54
- data/lib/zucker/5/tap.rb +0 -11
- data/lib/zucker/5/to_proc.rb +0 -4
- data/lib/zucker/5/unary.rb +0 -24
- data/lib/zucker/5/union.rb +0 -16
- data/lib/zucker/5/version.rb +0 -118
- data/lib/zucker/6/alias_for.rb +0 -21
- data/lib/zucker/6/aliases.rb +0 -51
- data/lib/zucker/6/all.rb +0 -4
- data/lib/zucker/6/array.rb +0 -25
- data/lib/zucker/6/array2proc.rb +0 -18
- data/lib/zucker/6/binding.rb +0 -34
- data/lib/zucker/6/blank.rb +0 -28
- data/lib/zucker/6/cc.rb +0 -25
- data/lib/zucker/6/class2proc.rb +0 -12
- data/lib/zucker/6/control.rb +0 -4
- data/lib/zucker/6/dd.rb +0 -23
- data/lib/zucker/6/debug.rb +0 -4
- data/lib/zucker/6/default.rb +0 -4
- data/lib/zucker/6/egonil.rb +0 -27
- data/lib/zucker/6/engine.rb +0 -68
- data/lib/zucker/6/enumerable.rb +0 -14
- data/lib/zucker/6/env.rb +0 -4
- data/lib/zucker/6/extensions.rb +0 -4
- data/lib/zucker/6/hash.rb +0 -27
- data/lib/zucker/6/hash2proc.rb +0 -16
- data/lib/zucker/6/info.rb +0 -192
- data/lib/zucker/6/iterate.rb +0 -27
- data/lib/zucker/6/ivars.rb +0 -28
- data/lib/zucker/6/kernel.rb +0 -34
- data/lib/zucker/6/mcopy.rb +0 -10
- data/lib/zucker/6/mm.rb +0 -34
- data/lib/zucker/6/not.rb +0 -19
- data/lib/zucker/6/object.rb +0 -4
- data/lib/zucker/6/oo.rb +0 -17
- data/lib/zucker/6/os.rb +0 -54
- data/lib/zucker/6/qq.rb +0 -12
- data/lib/zucker/6/regexp2proc.rb +0 -12
- data/lib/zucker/6/sandbox.rb +0 -25
- data/lib/zucker/6/shortcuts.rb +0 -4
- data/lib/zucker/6/square_brackets_for.rb +0 -21
- data/lib/zucker/6/string.rb +0 -54
- data/lib/zucker/6/tap.rb +0 -11
- data/lib/zucker/6/to_proc.rb +0 -4
- data/lib/zucker/6/unary.rb +0 -24
- data/lib/zucker/6/union.rb +0 -16
- data/lib/zucker/6/version.rb +0 -118
- data/lib/zucker/7/alias_for.rb +0 -21
- data/lib/zucker/7/aliases.rb +0 -51
- data/lib/zucker/7/all.rb +0 -4
- data/lib/zucker/7/array.rb +0 -25
- data/lib/zucker/7/array2proc.rb +0 -18
- data/lib/zucker/7/binding.rb +0 -34
- data/lib/zucker/7/blank.rb +0 -28
- data/lib/zucker/7/cc.rb +0 -25
- data/lib/zucker/7/class2proc.rb +0 -12
- data/lib/zucker/7/control.rb +0 -4
- data/lib/zucker/7/dd.rb +0 -23
- data/lib/zucker/7/debug.rb +0 -4
- data/lib/zucker/7/default.rb +0 -4
- data/lib/zucker/7/egonil.rb +0 -27
- data/lib/zucker/7/engine.rb +0 -68
- data/lib/zucker/7/enumerable.rb +0 -14
- data/lib/zucker/7/env.rb +0 -4
- data/lib/zucker/7/extensions.rb +0 -4
- data/lib/zucker/7/hash.rb +0 -27
- data/lib/zucker/7/hash2proc.rb +0 -16
- data/lib/zucker/7/info.rb +0 -192
- data/lib/zucker/7/iterate.rb +0 -27
- data/lib/zucker/7/ivars.rb +0 -28
- data/lib/zucker/7/kernel.rb +0 -34
- data/lib/zucker/7/mcopy.rb +0 -10
- data/lib/zucker/7/mm.rb +0 -34
- data/lib/zucker/7/not.rb +0 -19
- data/lib/zucker/7/object.rb +0 -4
- data/lib/zucker/7/oo.rb +0 -17
- data/lib/zucker/7/os.rb +0 -54
- data/lib/zucker/7/qq.rb +0 -12
- data/lib/zucker/7/regexp2proc.rb +0 -12
- data/lib/zucker/7/sandbox.rb +0 -25
- data/lib/zucker/7/shortcuts.rb +0 -4
- data/lib/zucker/7/square_brackets_for.rb +0 -21
- data/lib/zucker/7/string.rb +0 -54
- data/lib/zucker/7/tap.rb +0 -11
- data/lib/zucker/7/to_proc.rb +0 -4
- data/lib/zucker/7/unary.rb +0 -24
- data/lib/zucker/7/union.rb +0 -16
- data/lib/zucker/7/version.rb +0 -118
- data/lib/zucker/8/alias_for.rb +0 -21
- data/lib/zucker/8/aliases.rb +0 -51
- data/lib/zucker/8/all.rb +0 -4
- data/lib/zucker/8/array.rb +0 -25
- data/lib/zucker/8/array2proc.rb +0 -18
- data/lib/zucker/8/binding.rb +0 -33
- data/lib/zucker/8/blank.rb +0 -28
- data/lib/zucker/8/cc.rb +0 -25
- data/lib/zucker/8/class2proc.rb +0 -12
- data/lib/zucker/8/control.rb +0 -4
- data/lib/zucker/8/dd.rb +0 -23
- data/lib/zucker/8/debug.rb +0 -4
- data/lib/zucker/8/default.rb +0 -4
- data/lib/zucker/8/egonil.rb +0 -27
- data/lib/zucker/8/engine.rb +0 -68
- data/lib/zucker/8/enumerable.rb +0 -14
- data/lib/zucker/8/env.rb +0 -4
- data/lib/zucker/8/extensions.rb +0 -4
- data/lib/zucker/8/hash.rb +0 -27
- data/lib/zucker/8/hash2proc.rb +0 -16
- data/lib/zucker/8/info.rb +0 -192
- data/lib/zucker/8/iterate.rb +0 -27
- data/lib/zucker/8/ivars.rb +0 -28
- data/lib/zucker/8/kernel.rb +0 -34
- data/lib/zucker/8/mcopy.rb +0 -10
- data/lib/zucker/8/mm.rb +0 -34
- data/lib/zucker/8/not.rb +0 -19
- data/lib/zucker/8/object.rb +0 -4
- data/lib/zucker/8/oo.rb +0 -17
- data/lib/zucker/8/os.rb +0 -54
- data/lib/zucker/8/qq.rb +0 -12
- data/lib/zucker/8/regexp2proc.rb +0 -12
- data/lib/zucker/8/sandbox.rb +0 -25
- data/lib/zucker/8/shortcuts.rb +0 -4
- data/lib/zucker/8/square_brackets_for.rb +0 -21
- data/lib/zucker/8/string.rb +0 -54
- data/lib/zucker/8/tap.rb +0 -11
- data/lib/zucker/8/to_proc.rb +0 -4
- data/lib/zucker/8/unary.rb +0 -24
- data/lib/zucker/8/union.rb +0 -16
- data/lib/zucker/8/version.rb +0 -118
data/lib/zucker/1/D.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
module Kernel
|
4
|
-
def D(*args, &block)
|
5
|
-
if args.empty?
|
6
|
-
tap{
|
7
|
-
if block_given?
|
8
|
-
puts yield self
|
9
|
-
else
|
10
|
-
puts self.inspect
|
11
|
-
end
|
12
|
-
}
|
13
|
-
else
|
14
|
-
raise ArgumentError, ".D - The parser thought that the code after .D are method arguments... Please don't put a space after D or use .D() or .D{} in this case!"
|
15
|
-
# eval ...
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
# J-_-L
|
21
|
-
|
data/lib/zucker/1/aliases.rb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
alias is_an? is_a?
|
4
|
-
|
5
|
-
module Enumerable
|
6
|
-
alias with zip
|
7
|
-
alias % zip
|
8
|
-
end
|
9
|
-
|
10
|
-
class Array
|
11
|
-
alias ** product
|
12
|
-
end
|
13
|
-
|
14
|
-
class Hash
|
15
|
-
alias + merge
|
16
|
-
end
|
17
|
-
|
18
|
-
class Binding
|
19
|
-
#alias [] eval
|
20
|
-
def [](expr)
|
21
|
-
self.eval "#{expr}"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
# constants - who would use these in real-world code for other things?
|
26
|
-
Infinity = 1.0 / 0.0 # or 2*Float::MAX
|
27
|
-
NaN = 0.0 / 0.0
|
28
|
-
|
29
|
-
# J-_-L
|
30
|
-
|
data/lib/zucker/1/all.rb
DELETED
data/lib/zucker/1/array.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
class Array
|
4
|
-
def ^(other) # TODO: more efficient
|
5
|
-
(self - other) +
|
6
|
-
(other - self)
|
7
|
-
end
|
8
|
-
|
9
|
-
def sum # sry, you just need this one too often
|
10
|
-
inject :+
|
11
|
-
end
|
12
|
-
|
13
|
-
def chrs
|
14
|
-
self.pack 'C*'
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
# J-_-L
|
19
|
-
|
data/lib/zucker/1/array2proc.rb
DELETED
data/lib/zucker/1/binding.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
class Binding
|
4
|
-
def inspect
|
5
|
-
put_vars = lambda { |array|
|
6
|
-
if array.empty?
|
7
|
-
' - none'
|
8
|
-
else
|
9
|
-
array.map{|e| " - #{e}: #{ self.eval '#{e}'}"}*"\n"
|
10
|
-
end
|
11
|
-
}
|
12
|
-
|
13
|
-
"#{self.to_s}
|
14
|
-
local vars
|
15
|
-
#{ put_vars[ self.eval 'local_variables' ] }
|
16
|
-
(instance vars)
|
17
|
-
#{ put_vars[ self.eval 'instance_variables' ] }
|
18
|
-
self
|
19
|
-
- #{self.eval 'self'}
|
20
|
-
block_given?
|
21
|
-
- #{self.eval 'block_given?'}"
|
22
|
-
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
# J-_-L
|
27
|
-
|
data/lib/zucker/1/blank.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
class Object
|
4
|
-
def blank?
|
5
|
-
if respond_to? :empty? then empty? else !self end
|
6
|
-
end
|
7
|
-
|
8
|
-
def present?
|
9
|
-
!blank?
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
|
14
|
-
{ # what to do # for which classes
|
15
|
-
lambda{ true } => [FalseClass, NilClass],
|
16
|
-
lambda{ false } => [TrueClass, Numeric],
|
17
|
-
lambda{ empty? } => [Array, Hash],
|
18
|
-
lambda{ self !~ /\S/ } => [String],
|
19
|
-
lambda{ self == // } => [Regexp],
|
20
|
-
|
21
|
-
}.each{ |action, klass_array|
|
22
|
-
klass_array.each{ |klass|
|
23
|
-
klass.send :define_method, :blank?, &action
|
24
|
-
}
|
25
|
-
}
|
26
|
-
|
27
|
-
# J-_-L
|
28
|
-
|
data/lib/zucker/1/debug.rb
DELETED
data/lib/zucker/1/default.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
# default
|
4
|
-
zucker = %w|
|
5
|
-
aliases
|
6
|
-
array
|
7
|
-
array2proc
|
8
|
-
blank
|
9
|
-
class2proc
|
10
|
-
egonil
|
11
|
-
enumerable
|
12
|
-
hash
|
13
|
-
hash2proc
|
14
|
-
iterate
|
15
|
-
ivars
|
16
|
-
kernel
|
17
|
-
mcopy
|
18
|
-
regexp2proc
|
19
|
-
sandbox
|
20
|
-
square_brackets_for
|
21
|
-
string
|
22
|
-
unary
|
23
|
-
union
|
24
|
-
|
|
25
|
-
|
26
|
-
zucker.each{|rb| require "zucker/1/#{rb}"}
|
27
|
-
|
data/lib/zucker/1/egonil.rb
DELETED
data/lib/zucker/1/enumerable.rb
DELETED
data/lib/zucker/1/hash.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
class Hash
|
4
|
-
def self.zip(keys,values)
|
5
|
-
Hash[ *[1,2,3].zip( [4,5,6] ).flatten ]
|
6
|
-
end
|
7
|
-
|
8
|
-
def <<(other)
|
9
|
-
case
|
10
|
-
when other.is_a?(Hash)
|
11
|
-
merge! other
|
12
|
-
when other.respond_to?(:to_splat)
|
13
|
-
merge! Hash[*other]
|
14
|
-
else
|
15
|
-
raise TypeError, 'can only append other Hashs and Enumerables'
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
# J-_-L
|
21
|
-
|
data/lib/zucker/1/iterate.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
def iterate(*params)
|
4
|
-
# params.shift.zip(*params).each{ |*elements| yield *elements }
|
5
|
-
|
6
|
-
first = params.shift
|
7
|
-
if params.empty? # single param - like each
|
8
|
-
if block_given?
|
9
|
-
first.map{|e| yield e }
|
10
|
-
else
|
11
|
-
first.map
|
12
|
-
end
|
13
|
-
else
|
14
|
-
padded_first = Array.new( [first, *params].max_by(&:size).size ){|i| first[i] } # append nils
|
15
|
-
obj = padded_first.zip *params
|
16
|
-
if block_given?
|
17
|
-
obj.map{|es| yield *es }
|
18
|
-
else
|
19
|
-
obj.map.to_enum
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# J-_-L
|
25
|
-
|
data/lib/zucker/1/ivars.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
def instance_variables_from(obj, *only)
|
4
|
-
iter =
|
5
|
-
if obj.is_a? Binding
|
6
|
-
obj.eval('local_variables').map{|e| [obj.eval(e), e] }
|
7
|
-
elsif obj.is_a? Hash
|
8
|
-
obj.map{|k,v| [v,k] }
|
9
|
-
else
|
10
|
-
# elsif obj.is_a? Enumerable
|
11
|
-
obj.each.with_index
|
12
|
-
end
|
13
|
-
|
14
|
-
ret = []
|
15
|
-
iter.each{ |value, arg|
|
16
|
-
arg = arg.to_s
|
17
|
-
if only.include?(arg) || only.include?(arg.to_sym) || only.empty?
|
18
|
-
arg = '_' + arg if (48..57).member? arg.unpack('C')[0] # 1.8+1.9
|
19
|
-
ret << ivar = :"@#{arg}"
|
20
|
-
self.instance_variable_set ivar, value
|
21
|
-
end
|
22
|
-
}
|
23
|
-
ret
|
24
|
-
end
|
25
|
-
alias ivars instance_variables_from
|
26
|
-
|
27
|
-
# J-_-L
|
28
|
-
|
data/lib/zucker/1/kernel.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
def activate_warnings!
|
4
|
-
$VERBOSE = true
|
5
|
-
end
|
6
|
-
|
7
|
-
def deactivate_warnings!
|
8
|
-
$VERBOSE = false
|
9
|
-
end
|
10
|
-
|
11
|
-
def warnings_activated?
|
12
|
-
$VERBOSE
|
13
|
-
end
|
14
|
-
|
15
|
-
def library?
|
16
|
-
__FILE__ != $PROGRAM_NAME
|
17
|
-
end
|
18
|
-
|
19
|
-
def ignore_sigint! # ctrl+c
|
20
|
-
Signal.trap *%w|SIGINT IGNORE|
|
21
|
-
end
|
22
|
-
|
data/lib/zucker/1/mcopy.rb
DELETED
data/lib/zucker/1/mm.rb
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
module Kernel
|
4
|
-
def method_list(levels = 1)
|
5
|
-
if self.is_a? Module
|
6
|
-
klass, method_function = self, :public_methods
|
7
|
-
else
|
8
|
-
klass, method_function = self.class, :public_instance_methods
|
9
|
-
|
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
|
-
end
|
16
|
-
|
17
|
-
levels.times{ |level|
|
18
|
-
if cur = klass.ancestors[level]
|
19
|
-
p cur # put class name
|
20
|
-
p cur.send method_function, false # put methods of the class
|
21
|
-
else
|
22
|
-
break
|
23
|
-
end
|
24
|
-
}
|
25
|
-
|
26
|
-
self # or whatever
|
27
|
-
end
|
28
|
-
|
29
|
-
alias mm method_list
|
30
|
-
end
|
31
|
-
|
32
|
-
# J-_-L
|
33
|
-
|
data/lib/zucker/1/sandbox.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
def square_brackets_for(ivar, assignment = true)
|
4
|
-
# undef [] if respond_to? :[]
|
5
|
-
# undef []= if respond_to? :[]=
|
6
|
-
|
7
|
-
#instance_eval do
|
8
|
-
define_method :[] do |key|
|
9
|
-
(instance_variable_get :"@#{ivar}")[key]
|
10
|
-
end
|
11
|
-
|
12
|
-
if assignment
|
13
|
-
define_method :[]= do |key, value|
|
14
|
-
(instance_variable_get :"@#{ivar}")[key] = value
|
15
|
-
end
|
16
|
-
end
|
17
|
-
#end
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
# J-_-L
|
22
|
-
|
data/lib/zucker/1/string.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
class String
|
4
|
-
def ^(pos)
|
5
|
-
pos = pos.to_i
|
6
|
-
if pos >= 0
|
7
|
-
self[pos..-1]
|
8
|
-
else
|
9
|
-
self[0...pos]
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
def lchomp(arg=$/)
|
14
|
-
self.reverse.chomp(arg).reverse
|
15
|
-
end
|
16
|
-
|
17
|
-
def lchomp!(arg=$/)
|
18
|
-
self.reverse.chomp!(arg).reverse
|
19
|
-
end
|
20
|
-
|
21
|
-
def ords
|
22
|
-
self.unpack 'C*'
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
# J-_-L
|
27
|
-
|