zucker 1 → 2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +14 -0
- data/Rakefile +14 -4
- data/lib/zucker.rb +0 -4
- data/lib/zucker/2/D.rb +19 -0
- data/lib/zucker/2/aliases.rb +28 -0
- data/lib/zucker/2/all.rb +6 -0
- data/lib/zucker/2/array.rb +17 -0
- data/lib/zucker/2/array2proc.rb +16 -0
- data/lib/zucker/2/binding.rb +25 -0
- data/lib/zucker/2/blank.rb +26 -0
- data/lib/zucker/2/class2proc.rb +10 -0
- data/lib/zucker/2/debug.rb +4 -0
- data/lib/zucker/2/default.rb +25 -0
- data/lib/zucker/2/desc/D.yaml +23 -0
- data/lib/zucker/2/desc/aliases.yaml +16 -0
- data/lib/zucker/2/desc/array.yaml +14 -0
- data/lib/zucker/2/desc/array2proc.yaml +17 -0
- data/lib/zucker/2/desc/binding.yaml +10 -0
- data/lib/zucker/2/desc/blank.yaml +10 -0
- data/lib/zucker/2/desc/class2proc.yaml +12 -0
- data/lib/zucker/2/desc/egonil.yaml +17 -0
- data/lib/zucker/2/desc/enumerable.yaml +11 -0
- data/lib/zucker/2/desc/hash.yaml +14 -0
- data/lib/zucker/2/desc/hash2proc.yaml +11 -0
- data/lib/zucker/2/desc/info.yaml +12 -0
- data/lib/zucker/2/desc/iterate.yaml +17 -0
- data/lib/zucker/2/desc/ivars.yaml +20 -0
- data/lib/zucker/2/desc/kernel.yaml +13 -0
- data/lib/zucker/2/desc/mcopy.yaml +12 -0
- data/lib/zucker/2/desc/mm.yaml +12 -0
- data/lib/zucker/2/desc/regexp2proc.yaml +13 -0
- data/lib/zucker/2/desc/sandbox.yaml +19 -0
- data/lib/zucker/2/desc/square_brackets_for.yaml +23 -0
- data/lib/zucker/2/desc/string.yaml +13 -0
- data/lib/zucker/2/desc/unary.yaml +15 -0
- data/lib/zucker/2/desc/union.yaml +11 -0
- data/lib/zucker/2/doc/zucker_doc.html +1494 -0
- data/lib/zucker/2/doc/zucker_doc.rb +498 -0
- data/lib/zucker/2/egonil.rb +14 -0
- data/lib/zucker/2/enumerable.rb +12 -0
- data/lib/zucker/2/hash.rb +19 -0
- data/lib/zucker/2/hash2proc.rb +14 -0
- data/lib/zucker/2/info.rb +164 -0
- data/lib/zucker/2/iterate.rb +23 -0
- data/lib/zucker/2/ivars.rb +26 -0
- data/lib/zucker/2/kernel.rb +18 -0
- data/lib/zucker/2/mcopy.rb +9 -0
- data/lib/zucker/2/mm.rb +31 -0
- data/lib/zucker/2/regexp2proc.rb +10 -0
- data/lib/zucker/2/sandbox.rb +19 -0
- data/lib/zucker/2/spec/D_spec.rb +35 -0
- data/lib/zucker/2/spec/aliases_spec.rb +13 -0
- data/lib/zucker/2/spec/array2proc_spec.rb +12 -0
- data/lib/zucker/2/spec/array_spec.rb +23 -0
- data/lib/zucker/2/spec/binding_spec.rb +8 -0
- data/lib/zucker/2/spec/blank_spec.rb +20 -0
- data/lib/zucker/2/spec/class2proc_spec.rb +9 -0
- data/lib/zucker/2/spec/egonil_spec.rb +30 -0
- data/lib/zucker/2/spec/enumerable_spec.rb +8 -0
- data/lib/zucker/2/spec/hash2proc_spec.rb +12 -0
- data/lib/zucker/2/spec/hash_spec.rb +17 -0
- data/lib/zucker/2/spec/info_spec.rb +8 -0
- data/lib/zucker/2/spec/iterate_spec.rb +54 -0
- data/lib/zucker/2/spec/ivars_spec.rb +20 -0
- data/lib/zucker/2/spec/kernel_spec.rb +28 -0
- data/lib/zucker/2/spec/mcopy_spec.rb +13 -0
- data/lib/zucker/2/spec/mm_spec.rb +8 -0
- data/lib/zucker/2/spec/regexp2proc_spec.rb +9 -0
- data/lib/zucker/2/spec/sandbox_spec.rb +26 -0
- data/lib/zucker/2/spec/spec_helper.rb +18 -0
- data/lib/zucker/2/spec/square_brackets_for_spec.rb +59 -0
- data/lib/zucker/2/spec/string_spec.rb +29 -0
- data/lib/zucker/2/spec/unary_spec.rb +26 -0
- data/lib/zucker/2/spec/union_spec.rb +15 -0
- data/lib/zucker/2/square_brackets_for.rb +20 -0
- data/lib/zucker/2/string.rb +25 -0
- data/lib/zucker/2/unary.rb +22 -0
- data/lib/zucker/2/union.rb +14 -0
- data/lib/zucker/all.rb +2 -2
- data/lib/zucker/array2proc.rb +7 -1
- data/lib/zucker/debug.rb +3 -3
- data/lib/zucker/default.rb +1 -1
- data/lib/zucker/desc/D.yaml +1 -1
- data/lib/zucker/desc/array.yaml +1 -1
- data/lib/zucker/desc/array2proc.yaml +5 -1
- data/lib/zucker/desc/binding.yaml +2 -2
- data/lib/zucker/desc/blank.yaml +1 -3
- data/lib/zucker/desc/egonil.yaml +1 -1
- data/lib/zucker/desc/enumerable.yaml +1 -1
- data/lib/zucker/desc/hash.yaml +4 -2
- data/lib/zucker/desc/info.yaml +12 -0
- data/lib/zucker/desc/kernel.yaml +2 -2
- data/lib/zucker/desc/mm.yaml +3 -3
- data/lib/zucker/desc/regexp2proc.yaml +1 -1
- data/lib/zucker/desc/sandbox.yaml +6 -1
- data/lib/zucker/desc/string.yaml +1 -1
- data/lib/zucker/desc/unary.yaml +2 -2
- data/lib/zucker/desc/union.yaml +1 -1
- data/lib/zucker/doc/zucker_doc.html +441 -233
- data/lib/zucker/doc/zucker_doc.rb +32 -27
- data/lib/zucker/hash.rb +3 -3
- data/lib/zucker/info.rb +164 -0
- data/lib/zucker/ivars.rb +1 -1
- data/lib/zucker/kernel.rb +2 -4
- data/lib/zucker/sandbox.rb +7 -3
- data/lib/zucker/spec/D_spec.rb +15 -7
- data/lib/zucker/spec/aliases_spec.rb +3 -24
- data/lib/zucker/spec/array2proc_spec.rb +5 -1
- data/lib/zucker/spec/array_spec.rb +1 -1
- data/lib/zucker/spec/binding_spec.rb +4 -2
- data/lib/zucker/spec/blank_spec.rb +1 -1
- data/lib/zucker/spec/class2proc_spec.rb +1 -1
- data/lib/zucker/spec/egonil_spec.rb +1 -1
- data/lib/zucker/spec/enumerable_spec.rb +1 -1
- data/lib/zucker/spec/hash2proc_spec.rb +1 -1
- data/lib/zucker/spec/hash_spec.rb +10 -3
- data/lib/zucker/spec/info_spec.rb +8 -0
- data/lib/zucker/spec/iterate_spec.rb +1 -1
- data/lib/zucker/spec/ivars_spec.rb +1 -1
- data/lib/zucker/spec/kernel_spec.rb +1 -7
- data/lib/zucker/spec/mcopy_spec.rb +1 -1
- data/lib/zucker/spec/mm_spec.rb +4 -2
- data/lib/zucker/spec/regexp2proc_spec.rb +1 -1
- data/lib/zucker/spec/sandbox_spec.rb +22 -3
- data/lib/zucker/spec/spec_helper.rb +18 -0
- data/lib/zucker/spec/square_brackets_for_spec.rb +1 -1
- data/lib/zucker/spec/string_spec.rb +7 -7
- data/lib/zucker/spec/unary_spec.rb +1 -1
- data/lib/zucker/spec/union_spec.rb +8 -6
- metadata +207 -131
- data/lib/zucker/doc/meta.yaml +0 -4
@@ -1,8 +1,12 @@
|
|
1
1
|
# Ruby 1.9, encoding: utf-8
|
2
|
+
# creates the documentation for Zucker
|
3
|
+
|
2
4
|
require 'yaml'
|
3
5
|
require 'coderay'
|
4
6
|
|
5
7
|
class ZuckerDoc
|
8
|
+
PACKAGES = %w|default debug|
|
9
|
+
ORDER = %w|summary why methods info spec source versions|
|
6
10
|
DESCRIPTIONS = {
|
7
11
|
'summary' => 'Summary',
|
8
12
|
'why' => 'Why?',
|
@@ -13,15 +17,15 @@ class ZuckerDoc
|
|
13
17
|
'versions' => 'Compatibility',
|
14
18
|
'authors' => 'Authors',
|
15
19
|
}
|
16
|
-
ORDER = %w|summary why methods info spec source versions|
|
17
20
|
|
18
21
|
# template vars
|
19
|
-
@version =
|
22
|
+
@version = 2
|
20
23
|
|
21
24
|
class << self
|
22
|
-
def generate
|
25
|
+
def generate(path = '../')
|
26
|
+
@path = path
|
23
27
|
|
24
|
-
cubes = Dir['
|
28
|
+
cubes = Dir[ File.join(path, 'desc', '*') ].inject({}) do |res, cube_file; a|
|
25
29
|
a = YAML.load_file cube_file
|
26
30
|
if a.instance_of? Hash
|
27
31
|
res.merge a
|
@@ -30,13 +34,12 @@ class ZuckerDoc
|
|
30
34
|
end
|
31
35
|
end
|
32
36
|
|
33
|
-
|
37
|
+
output_path = File.join(path, 'doc', 'zucker_doc.html')
|
34
38
|
|
35
|
-
output = 'zucker_doc.html'
|
36
39
|
result = DATA.read
|
37
40
|
|
38
|
-
cubes_html =
|
39
|
-
|
41
|
+
cubes_html = PACKAGES.map{ |pkg_name|
|
42
|
+
package pkg_name, cubes.select{|name, hash| hash['package'] == pkg_name }
|
40
43
|
}.join
|
41
44
|
|
42
45
|
# insert cubes
|
@@ -47,16 +50,28 @@ class ZuckerDoc
|
|
47
50
|
result.gsub! /⇧(.+?)⇧/, '<code>\1</code>'
|
48
51
|
# strong
|
49
52
|
result.gsub! /●(.+?)●/, '<strong>\1</strong>'
|
50
|
-
# hyper
|
53
|
+
# hyper→links
|
51
54
|
result.gsub! /→(.+?)→(.+?)→/, '<a href="\2">\1</a>'
|
52
55
|
|
53
|
-
File.open
|
56
|
+
File.open output_path, 'w' do |file|
|
54
57
|
file.puts result
|
55
58
|
end
|
56
59
|
end
|
57
60
|
|
58
61
|
protected
|
59
62
|
|
63
|
+
def package(name, cubes)
|
64
|
+
cube_html = cubes.sort.map{ |name, hash|
|
65
|
+
cube name, hash
|
66
|
+
}.join
|
67
|
+
|
68
|
+
%{
|
69
|
+
<h2 title="require 'zucker/#{name}'">Cubes[#{name}]</h2>
|
70
|
+
<div class="cubes">
|
71
|
+
#{cube_html}
|
72
|
+
</div> }
|
73
|
+
end
|
74
|
+
|
60
75
|
def cube(name, hash)
|
61
76
|
@cube_name = name
|
62
77
|
%{ <h3 title="require 'zucker/#{name}'">#{ name }</h3>
|
@@ -110,17 +125,17 @@ class ZuckerDoc
|
|
110
125
|
end
|
111
126
|
|
112
127
|
def spec(s)
|
113
|
-
source_helper(:spec, '
|
128
|
+
source_helper(:spec, File.join( @path, 'spec/' ), '_spec')
|
114
129
|
end
|
115
130
|
|
116
131
|
def source(s)
|
117
|
-
source_helper(:source,
|
132
|
+
source_helper(:source, @path)
|
118
133
|
end
|
119
134
|
|
120
135
|
def source_helper(kind, file_prefix, suffix='')
|
121
136
|
%{ <span id="show_#{@cube_name}_#{kind}">(<a href="javascript:show('#{@cube_name}_#{kind}')">show</a>)</span>
|
122
137
|
<pre class="source" id="#{@cube_name}_#{kind}">#{
|
123
|
-
get_source_file( file_prefix
|
138
|
+
get_source_file( File.join file_prefix, ( @cube_name + suffix + '.rb' ) )
|
124
139
|
}</pre> }
|
125
140
|
end
|
126
141
|
|
@@ -149,7 +164,7 @@ class ZuckerDoc
|
|
149
164
|
end
|
150
165
|
end
|
151
166
|
|
152
|
-
ZuckerDoc.generate
|
167
|
+
ZuckerDoc.generate *ARGV
|
153
168
|
|
154
169
|
__END__
|
155
170
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
@@ -288,19 +303,12 @@ code, pre{
|
|
288
303
|
|
289
304
|
.source{
|
290
305
|
display:none;
|
291
|
-
border:1px solid #005;
|
292
|
-
# background:#111;
|
293
306
|
width:98%;
|
294
|
-
|
295
|
-
# background-color: #232323;
|
296
|
-
# border: 1px solid black;
|
297
|
-
# font-family: 'Courier New', 'Terminal', monospace;
|
298
|
-
# color: #E6E0DB;
|
299
307
|
padding: 3px 5px;
|
300
|
-
# margin-right:1em;
|
301
308
|
overflow: auto;
|
302
309
|
font-size: 12px;
|
303
310
|
background-color: #f8f8f8;
|
311
|
+
border:1px solid #005;
|
304
312
|
border: 1px solid silver;
|
305
313
|
font-family: 'Courier New', 'Terminal', monospace;
|
306
314
|
color: #000;
|
@@ -454,7 +462,7 @@ table.source td { padding: 2px 4px; vertical-align: top; }
|
|
454
462
|
|
455
463
|
<h1>Ruby Zucker ..version..</h1>
|
456
464
|
<h2>What is it?</h2>
|
457
|
-
<p class="text">Zucker is the German word for sugar (<a href="http://www.forvo.com/word/zucker/">pronunciation</a>).
|
465
|
+
<p class="text">Zucker is the German word for sugar (<a href="http://www.forvo.com/word/zucker/">pronunciation</a>). It adds syntactical sugar in the form of independent, small scripts that make Ruby even more sweet. Read <a href="http://rbjl.net/32-introducing-ruby-zucker-a-new-syntactical-sugar-gem">this blog post</a> for a little introduction.</p>
|
458
466
|
|
459
467
|
<h2>Install</h2>
|
460
468
|
<p class="text">
|
@@ -475,10 +483,7 @@ table.source td { padding: 2px 4px; vertical-align: top; }
|
|
475
483
|
<p class="text">You can also lock your require to a specific version of Zucker by simply putting the version before the cube name in this way:
|
476
484
|
<code>require 'zucker/1/egonil'</code>. Future releases of the gem will include all previous (main) versions, so the behaviour of these directly required cubes will not change (except for critical bugs).</p>
|
477
485
|
|
478
|
-
|
479
|
-
<div class="cubes">
|
480
|
-
....
|
481
|
-
</div>
|
486
|
+
....
|
482
487
|
<br/>
|
483
488
|
</div>
|
484
489
|
<div id="foot">
|
data/lib/zucker/hash.rb
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
class Hash
|
2
2
|
def self.zip(keys,values)
|
3
|
-
Hash[ *
|
3
|
+
Hash[ *keys.zip( values ).flatten ]
|
4
4
|
end
|
5
5
|
|
6
6
|
def <<(other)
|
7
7
|
case
|
8
8
|
when other.is_a?(Hash)
|
9
9
|
merge! other
|
10
|
-
when other.respond_to?(:to_splat)
|
10
|
+
when other.is_a?(Enumerable) || other.respond_to?(:to_splat)
|
11
11
|
merge! Hash[*other]
|
12
12
|
else
|
13
|
-
raise TypeError, 'can only append other Hashs and Enumerables'
|
13
|
+
raise TypeError, 'can only append other Hashs and Enumerables (or Classes that implement to_splat)'
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
data/lib/zucker/info.rb
ADDED
@@ -0,0 +1,164 @@
|
|
1
|
+
module Info
|
2
|
+
class << Info
|
3
|
+
# hash like access
|
4
|
+
def [](what)
|
5
|
+
send what
|
6
|
+
end
|
7
|
+
|
8
|
+
# TODO: maybe add a descriptions method
|
9
|
+
end
|
10
|
+
|
11
|
+
module_function
|
12
|
+
|
13
|
+
# current script file
|
14
|
+
def current_file
|
15
|
+
__FILE__
|
16
|
+
end
|
17
|
+
|
18
|
+
def current_file_directory
|
19
|
+
File.dirname(__FILE__)
|
20
|
+
end
|
21
|
+
|
22
|
+
# input
|
23
|
+
def last_input_file
|
24
|
+
$FILENAME
|
25
|
+
end
|
26
|
+
|
27
|
+
def last_input_line_number
|
28
|
+
$.
|
29
|
+
end
|
30
|
+
|
31
|
+
def last_input
|
32
|
+
$_
|
33
|
+
end
|
34
|
+
|
35
|
+
# program
|
36
|
+
def program_name
|
37
|
+
$0
|
38
|
+
end
|
39
|
+
|
40
|
+
def program_arguments
|
41
|
+
$:
|
42
|
+
end
|
43
|
+
|
44
|
+
def loaded_programs
|
45
|
+
$"
|
46
|
+
end
|
47
|
+
|
48
|
+
def program_data
|
49
|
+
::DATA
|
50
|
+
end
|
51
|
+
|
52
|
+
def child_program_status
|
53
|
+
$CHILD_STATUS
|
54
|
+
end
|
55
|
+
|
56
|
+
# system info
|
57
|
+
def environment
|
58
|
+
::ENV
|
59
|
+
end
|
60
|
+
alias env environment
|
61
|
+
|
62
|
+
def working_directory
|
63
|
+
Dir.pwd
|
64
|
+
end
|
65
|
+
|
66
|
+
def platform
|
67
|
+
::RUBY_PLATFORM
|
68
|
+
end
|
69
|
+
|
70
|
+
def process_id
|
71
|
+
$$
|
72
|
+
end
|
73
|
+
|
74
|
+
def load_path
|
75
|
+
$:
|
76
|
+
end
|
77
|
+
|
78
|
+
# current
|
79
|
+
def current_line
|
80
|
+
__LINE__
|
81
|
+
end
|
82
|
+
|
83
|
+
def current_method # 1.9
|
84
|
+
__method__
|
85
|
+
end
|
86
|
+
|
87
|
+
def current_callstack
|
88
|
+
caller
|
89
|
+
end
|
90
|
+
|
91
|
+
# dealing with strings
|
92
|
+
def gets_separator
|
93
|
+
$/
|
94
|
+
end
|
95
|
+
|
96
|
+
def join_separator
|
97
|
+
$,
|
98
|
+
end
|
99
|
+
|
100
|
+
def print_separator
|
101
|
+
$,
|
102
|
+
end
|
103
|
+
|
104
|
+
def split_separator
|
105
|
+
$;
|
106
|
+
end
|
107
|
+
|
108
|
+
# misc
|
109
|
+
def security_level
|
110
|
+
$SAFE
|
111
|
+
end
|
112
|
+
|
113
|
+
def warnings_activated?
|
114
|
+
$VERBOSE
|
115
|
+
end
|
116
|
+
|
117
|
+
def debug_activated?
|
118
|
+
$DEBUG
|
119
|
+
end
|
120
|
+
|
121
|
+
def last_exception
|
122
|
+
$!
|
123
|
+
end
|
124
|
+
|
125
|
+
# defined objects
|
126
|
+
def global_variables
|
127
|
+
global_variables
|
128
|
+
end
|
129
|
+
|
130
|
+
def global_constants
|
131
|
+
Object.constants
|
132
|
+
end
|
133
|
+
|
134
|
+
# encoding (1.9)
|
135
|
+
def source_encoding
|
136
|
+
__ENCODING__
|
137
|
+
end
|
138
|
+
|
139
|
+
def external_encoding
|
140
|
+
Encoding.default_external
|
141
|
+
end
|
142
|
+
|
143
|
+
def internal_encoding
|
144
|
+
Encoding.default_internal
|
145
|
+
end
|
146
|
+
|
147
|
+
# ruby version info
|
148
|
+
def ruby_version
|
149
|
+
::RUBY_VERSION
|
150
|
+
end
|
151
|
+
|
152
|
+
def ruby_patchlevel
|
153
|
+
::RUBY_PATCHLEVEL
|
154
|
+
end
|
155
|
+
|
156
|
+
def ruby_description
|
157
|
+
::RUBY_DESCRIPTION
|
158
|
+
end
|
159
|
+
|
160
|
+
def ruby_release_date
|
161
|
+
::RUBY_RELEASE_DATE
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
data/lib/zucker/ivars.rb
CHANGED
data/lib/zucker/kernel.rb
CHANGED
@@ -6,10 +6,6 @@ def deactivate_warnings!
|
|
6
6
|
$VERBOSE = false
|
7
7
|
end
|
8
8
|
|
9
|
-
def warnings_activated?
|
10
|
-
$VERBOSE
|
11
|
-
end
|
12
|
-
|
13
9
|
def library?
|
14
10
|
__FILE__ != $PROGRAM_NAME
|
15
11
|
end
|
@@ -18,3 +14,5 @@ def ignore_sigint! # ctrl+c
|
|
18
14
|
Signal.trap *%w|SIGINT IGNORE|
|
19
15
|
end
|
20
16
|
|
17
|
+
# J-_-L
|
18
|
+
|
data/lib/zucker/sandbox.rb
CHANGED
@@ -1,11 +1,15 @@
|
|
1
|
-
def sandbox(
|
1
|
+
def sandbox(rescueblock_or_default=nil)
|
2
2
|
Thread.start do
|
3
3
|
$SAFE = 4
|
4
4
|
yield
|
5
5
|
end.value
|
6
6
|
rescue SecurityError => e
|
7
|
-
if
|
8
|
-
|
7
|
+
if !rescueblock_or_default.nil?
|
8
|
+
if rescueblock_or_default.is_a? Proc
|
9
|
+
rescueblock_or_default.call e
|
10
|
+
else
|
11
|
+
rescueblock_or_default
|
12
|
+
end
|
9
13
|
else
|
10
14
|
raise e
|
11
15
|
end
|
data/lib/zucker/spec/D_spec.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require 'D'
|
1
|
+
require 'zucker/D'
|
2
2
|
|
3
3
|
describe 'Object#D' do
|
4
4
|
|
@@ -10,18 +10,26 @@ describe 'Object#D' do
|
|
10
10
|
a.each{ |e|
|
11
11
|
(e.D).should == e
|
12
12
|
}
|
13
|
+
|
14
|
+
a.each{ |e|
|
15
|
+
(e.D{|value| "This is a: #{value}"}).should == e
|
16
|
+
}
|
13
17
|
end
|
14
18
|
|
15
19
|
it "should puts .inspect if no block is given (and not change the object's value)" do
|
16
|
-
|
17
|
-
|
18
|
-
|
20
|
+
capture_stdout do
|
21
|
+
a[0].D
|
22
|
+
a[1].D
|
23
|
+
a[6].D
|
24
|
+
end.should == %{1\n"1"\ntrue\n}
|
19
25
|
end
|
20
26
|
|
21
27
|
it "should puts the block if it is given (and not change the object's value)" do
|
22
|
-
|
23
|
-
|
24
|
-
|
28
|
+
capture_stdout do
|
29
|
+
a[0].D{|value| "This is a: #{value}"}
|
30
|
+
a[1].D{|value| "This is a: #{value}"}
|
31
|
+
a[6].D{|value| "This is a: #{value}"}
|
32
|
+
end.should == %{This is a: 1\nThis is a: 1\nThis is a: true\n}
|
25
33
|
end
|
26
34
|
end
|
27
35
|
|
@@ -1,29 +1,8 @@
|
|
1
|
-
require 'aliases'
|
1
|
+
require 'zucker/aliases'
|
2
2
|
|
3
3
|
describe '(aliases)' do
|
4
|
-
it 'should create these aliases
|
5
|
-
|
6
|
-
|
7
|
-
# module Enumerable
|
8
|
-
# alias with zip
|
9
|
-
# alias % zip
|
10
|
-
# end
|
11
|
-
|
12
|
-
# class Array
|
13
|
-
# alias ** product
|
14
|
-
# end
|
15
|
-
|
16
|
-
# class Hash
|
17
|
-
# alias + merge
|
18
|
-
# end
|
19
|
-
|
20
|
-
# class Binding
|
21
|
-
# #alias [] eval
|
22
|
-
# def [](expr)
|
23
|
-
# self.eval "#{expr}"
|
24
|
-
# end
|
25
|
-
# end
|
26
|
-
|
4
|
+
it 'should create these aliases' do
|
5
|
+
# see aliases.rb for aliase list
|
27
6
|
end
|
28
7
|
|
29
8
|
it 'should define these constants' do
|