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/3/not.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
class Object
|
4
|
-
def not
|
5
|
-
NotClass.new self
|
6
|
-
end
|
7
|
-
|
8
|
-
class NotClass < BasicObject
|
9
|
-
def initialize(receiver)
|
10
|
-
@receiver = receiver
|
11
|
-
end
|
12
|
-
|
13
|
-
def method_missing(m, *args, &block)
|
14
|
-
not @receiver.public_send( m, *args, &block )
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
# J-_-L
|
data/lib/zucker/3/regexp2proc.rb
DELETED
data/lib/zucker/3/sandbox.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
def sandbox(rescueblock_or_default=nil)
|
4
|
-
Thread.start do
|
5
|
-
$SAFE = 4
|
6
|
-
yield
|
7
|
-
end.value
|
8
|
-
rescue SecurityError => e
|
9
|
-
if !rescueblock_or_default.nil?
|
10
|
-
if rescueblock_or_default.is_a? Proc
|
11
|
-
rescueblock_or_default.call e
|
12
|
-
else
|
13
|
-
rescueblock_or_default
|
14
|
-
end
|
15
|
-
else
|
16
|
-
raise e
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
# J-_-L
|
21
|
-
|
@@ -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/3/string.rb
DELETED
@@ -1,49 +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
|
-
|
25
|
-
def constantize(default_value = nil) # always uses global scope as in AS... is this good?
|
26
|
-
get_constant = lambda{
|
27
|
-
self.split(/::/).inject( Object ){ |base_constant, current_constant|
|
28
|
-
base_constant.const_get current_constant
|
29
|
-
}
|
30
|
-
}
|
31
|
-
|
32
|
-
if !default_value && !block_given?
|
33
|
-
get_constant.call
|
34
|
-
else
|
35
|
-
begin
|
36
|
-
get_constant.call
|
37
|
-
rescue NameError
|
38
|
-
if block_given?
|
39
|
-
yield self
|
40
|
-
else
|
41
|
-
default_value
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
# J-_-L
|
49
|
-
|
data/lib/zucker/3/tap.rb
DELETED
data/lib/zucker/3/unary.rb
DELETED
data/lib/zucker/3/union.rb
DELETED
data/lib/zucker/4/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/4/alias_for.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
def alias_for(m, *aliases)
|
4
|
-
aliases.each{ |a|
|
5
|
-
class_eval "alias #{a} #{m}"
|
6
|
-
}
|
7
|
-
end
|
8
|
-
alias aliases_for alias_for
|
9
|
-
|
10
|
-
class Module
|
11
|
-
def alias_method_for(m, *alias_methods)
|
12
|
-
alias_methods.each{ |a|
|
13
|
-
class_eval do
|
14
|
-
alias_method a.to_sym, m.to_sym
|
15
|
-
end
|
16
|
-
}
|
17
|
-
end
|
18
|
-
alias alias_methods_for alias_method_for
|
19
|
-
end
|
20
|
-
|
21
|
-
# J-_-L
|
data/lib/zucker/4/aliases.rb
DELETED
@@ -1,35 +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
|
-
alias contains? include?
|
13
|
-
end
|
14
|
-
|
15
|
-
class String
|
16
|
-
alias contains? include?
|
17
|
-
end
|
18
|
-
|
19
|
-
class Hash
|
20
|
-
alias + merge
|
21
|
-
end
|
22
|
-
|
23
|
-
class Binding
|
24
|
-
#alias [] eval
|
25
|
-
def [](expr)
|
26
|
-
self.eval "#{expr}"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
# constants - who would use these in real-world code for other things?
|
31
|
-
Infinity = 1.0 / 0.0 # or 2*Float::MAX or Float::INFINITY
|
32
|
-
NaN = 0.0 / 0.0
|
33
|
-
|
34
|
-
# J-_-L
|
35
|
-
|
data/lib/zucker/4/all.rb
DELETED
data/lib/zucker/4/array.rb
DELETED
@@ -1,25 +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
|
-
# can take an argument & block to be Rails compatible
|
10
|
-
def sum(identity = 0, &block)
|
11
|
-
# inject(:+)
|
12
|
-
if block_given?
|
13
|
-
map(&block).sum( identity )
|
14
|
-
else
|
15
|
-
inject(:+) || identity
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def chrs
|
20
|
-
self.pack 'C*'
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# J-_-L
|
25
|
-
|
data/lib/zucker/4/array2proc.rb
DELETED
data/lib/zucker/4/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/4/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/4/class2proc.rb
DELETED
data/lib/zucker/4/debug.rb
DELETED
data/lib/zucker/4/default.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
require 'zucker'
|
2
|
-
|
3
|
-
require 'zucker'
|
4
|
-
|
5
|
-
# default
|
6
|
-
zucker = %w|
|
7
|
-
alias_for
|
8
|
-
aliases
|
9
|
-
array
|
10
|
-
array2proc
|
11
|
-
blank
|
12
|
-
class2proc
|
13
|
-
egonil
|
14
|
-
engine
|
15
|
-
enumerable
|
16
|
-
hash
|
17
|
-
hash2proc
|
18
|
-
info
|
19
|
-
iterate
|
20
|
-
ivars
|
21
|
-
kernel
|
22
|
-
mcopy
|
23
|
-
not
|
24
|
-
os
|
25
|
-
regexp2proc
|
26
|
-
sandbox
|
27
|
-
square_brackets_for
|
28
|
-
string
|
29
|
-
tap
|
30
|
-
unary
|
31
|
-
union
|
32
|
-
version
|
33
|
-
|
|
34
|
-
|
35
|
-
# remove 1.9 if 1.8
|
36
|
-
if RUBY_VERSION < '1.9'
|
37
|
-
zucker -= %w|not tap union|
|
38
|
-
end
|
39
|
-
|
40
|
-
zucker.each{|rb| require File.join( 'zucker', '4', rb )}
|