red 3.5.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/Manifest.txt +10 -15
- data/README.txt +7 -50
- data/bin/red +12 -19
- data/config/hoe.rb +7 -6
- data/lib/red/errors.rb +2 -64
- data/lib/red/executable.rb +35 -34
- data/lib/red/nodes/assignment_nodes.rb +133 -0
- data/lib/red/nodes/call_nodes.rb +126 -0
- data/lib/red/nodes/control_nodes.rb +126 -0
- data/lib/red/nodes/data_nodes.rb +75 -0
- data/lib/red/nodes/definition_nodes.rb +191 -0
- data/lib/red/nodes/illegal_nodes.rb +33 -0
- data/lib/red/nodes/literal_nodes.rb +148 -0
- data/lib/red/nodes/logic_nodes.rb +89 -0
- data/lib/red/nodes/variable_nodes.rb +76 -0
- data/lib/red/plugin.rb +6 -7
- data/lib/red/version.rb +2 -2
- data/lib/red.rb +209 -131
- data/lib/source/ruby.rb +6744 -0
- metadata +14 -19
- data/lib/javascripts/_dom_ready.js +0 -249
- data/lib/javascripts/prototype_dom_ready.js +0 -1
- data/lib/javascripts/red/unobtrusive.red +0 -6
- data/lib/red/assignment_nodes.rb +0 -164
- data/lib/red/call_nodes.rb +0 -90
- data/lib/red/conditional_nodes.rb +0 -63
- data/lib/red/conjunction_nodes.rb +0 -23
- data/lib/red/constant_nodes.rb +0 -47
- data/lib/red/control_nodes.rb +0 -129
- data/lib/red/data_nodes.rb +0 -93
- data/lib/red/definition_nodes.rb +0 -177
- data/lib/red/illegal_nodes.rb +0 -63
- data/lib/red/literal_nodes.rb +0 -119
- data/lib/red/variable_nodes.rb +0 -37
- data/lib/red/wrap_nodes.rb +0 -51
data/lib/red/wrap_nodes.rb
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
module Red
|
2
|
-
class WrapNode # :nodoc:
|
3
|
-
def initialize(expression = nil)
|
4
|
-
@expression = expression.build_node
|
5
|
-
end
|
6
|
-
|
7
|
-
def compile_internals(options = {})
|
8
|
-
return [@expression].compile_nodes(:as_argument => true)
|
9
|
-
end
|
10
|
-
|
11
|
-
class DefinedNode < WrapNode # :nodoc:
|
12
|
-
def compile_node(options = {})
|
13
|
-
return "typeof %s" % self.compile_internals
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
class NotNode < WrapNode # :nodoc:
|
18
|
-
def compile_node(options = {})
|
19
|
-
return "!(%s)" % self.compile_internals
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
class ReturnNode < WrapNode # :nodoc:
|
24
|
-
def compile_node(options = {})
|
25
|
-
return ("return %s" % self.compile_internals).rstrip
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
class SuperNode < WrapNode # :nodoc:
|
30
|
-
def initialize(args = [nil])
|
31
|
-
case @@red_library
|
32
|
-
when :Prototype : @args = args[1..-1].build_nodes
|
33
|
-
else raise(BuildError::NoSuperMethods, "Calls to super are not supported in #{@@red_library} JavaScript library")
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def compile_node(options = {})
|
38
|
-
case @@red_library
|
39
|
-
when :Prototype : return "$super(%s)" % @args.compile_nodes(:as_argument => true).join(', ')
|
40
|
-
else return ""
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
class YieldNode < WrapNode # :nodoc:
|
46
|
-
def compile_node(options = {})
|
47
|
-
return ("yield %s" % self.compile_internals).rstrip
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|