opal 0.3.22 → 0.3.25
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +1 -1
- data/Gemfile +1 -9
- data/README.md +46 -5
- data/Rakefile +4 -94
- data/core/array.rb +13 -46
- data/core/basic_object.rb +2 -12
- data/core/boolean.rb +1 -1
- data/core/browser.js +27 -1
- data/core/class.rb +1 -7
- data/core/enumerable.rb +3 -15
- data/core/error.rb +2 -4
- data/core/hash.rb +9 -18
- data/core/json.rb +5 -0
- data/core/kernel.rb +2 -21
- data/core/load_order +5 -7
- data/core/nil_class.rb +4 -0
- data/core/numeric.rb +0 -6
- data/core/object.rb +1 -5
- data/core/proc.rb +0 -4
- data/core/range.rb +10 -17
- data/core/regexp.rb +2 -6
- data/core/runtime.js +2 -26
- data/core/string.rb +28 -26
- data/core/struct.rb +0 -4
- data/core/{erb.rb → templates.rb} +6 -4
- data/core/time.rb +7 -19
- data/core/top_self.rb +2 -2
- data/lib/opal.rb +13 -2
- data/lib/opal/builder.rb +3 -3
- data/lib/opal/erb_parser.rb +3 -2
- data/lib/opal/parser.rb +10 -2
- data/lib/opal/rake_task.rb +10 -2
- data/lib/opal/scope.rb +6 -1
- data/lib/opal/version.rb +1 -1
- data/opal.gemspec +1 -3
- data/spec/core/array/constructor_spec.rb +0 -8
- data/spec/core/enumerable/drop_while_spec.rb +0 -4
- data/spec/core/enumerable/find_index_spec.rb +0 -4
- data/spec/core/enumerable/select_spec.rb +13 -0
- data/spec/core/kernel/respond_to_spec.rb +4 -0
- data/spec/core/string/empty_spec.rb +0 -1
- data/spec/core/string/include_spec.rb +0 -6
- data/spec/core/string/swapcase_spec.rb +0 -5
- data/spec/core/string/to_s_spec.rb +0 -7
- data/spec/core/string/to_str_spec.rb +0 -7
- data/spec/lib/erb_parser/simple.erb +1 -0
- data/spec/{grammar → lib/grammar}/alias_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/and_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/array_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/attrasgn_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/begin_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/block_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/break_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/call_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/class_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/const_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/cvar_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/def_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/false_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/file_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/gvar_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/hash_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/iasgn_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/if_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/iter_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/ivar_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/lambda_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/lasgn_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/line_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/lvar_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/masgn_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/module_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/nil_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/not_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/op_asgn1_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/op_asgn2_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/or_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/return_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/sclass_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/self_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/str_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/super_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/true_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/undef_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/unless_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/while_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/xstr_spec.rb +0 -0
- data/spec/{grammar → lib/grammar}/yield_spec.rb +0 -0
- data/spec/{parser → lib/parser}/simple_spec.rb +1 -1
- data/spec/opal/erb/erb_spec.rb +10 -2
- data/spec/opal/string/demodulize_spec.rb +10 -0
- data/spec/opal/string/underscore_spec.rb +17 -0
- data/spec/spec_helper.rb +1 -1
- data/vendor/opal_spec_runner.js +43 -0
- metadata +99 -114
- data/.rspec +0 -2
- data/docs/index.md +0 -616
- data/docs/post.html +0 -3
- data/docs/pre.html +0 -35
- data/docs/try.html +0 -52
- data/spec/core/string/fixtures/classes.rb +0 -3
- data/spec/opal/array/subclassing_spec.rb +0 -32
- data/spec/opal/exception/subclassing_spec.rb +0 -17
- data/spec/opal/string/subclassing_spec.rb +0 -26
data/docs/post.html
DELETED
data/docs/pre.html
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
<!doctype html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<title>Opal: Ruby to Javascript compiler</title>
|
5
|
-
|
6
|
-
<link href="/stylesheets/bootstrap.css" rel="stylesheet">
|
7
|
-
<link href="/stylesheets/pygment_trac.css" rel="stylesheet">
|
8
|
-
<style>
|
9
|
-
body {
|
10
|
-
padding-top: 92px;
|
11
|
-
}
|
12
|
-
|
13
|
-
.main-title {
|
14
|
-
padding-bottom: 32px;
|
15
|
-
}
|
16
|
-
</style>
|
17
|
-
</head>
|
18
|
-
<body>
|
19
|
-
<!-- nav -->
|
20
|
-
<div class="navbar navbar-fixed-top">
|
21
|
-
<div class="navbar-inner">
|
22
|
-
<div class="container">
|
23
|
-
<a class="brand" href="http://opalrb.org">
|
24
|
-
Opal
|
25
|
-
</a>
|
26
|
-
<ul class="nav">
|
27
|
-
<li><a href="/index.html">Home</a></li>
|
28
|
-
<li><a href="/try.html">Try Opal</a></li>
|
29
|
-
</ul>
|
30
|
-
</div>
|
31
|
-
</div>
|
32
|
-
</div>
|
33
|
-
|
34
|
-
<!-- body -->
|
35
|
-
<div class="container">
|
data/docs/try.html
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
<div class="row-fluid" id="wrapper">
|
2
|
-
<div id="editor_wrapper" class="span6">
|
3
|
-
<div id="editor"></div>
|
4
|
-
<br />
|
5
|
-
<a href="#" id="run_code" class="btn btn-primary">Compile</a>
|
6
|
-
</div>
|
7
|
-
|
8
|
-
<div id="viewer_wrapper" class="span6">
|
9
|
-
<div id="viewer"></div>
|
10
|
-
</div>
|
11
|
-
</div>
|
12
|
-
|
13
|
-
|
14
|
-
<script src="/javascripts/codemirror.js"></script>
|
15
|
-
<script src="/javascripts/ruby.js"></script>
|
16
|
-
<script src="/javascripts/javascript.js"></script>
|
17
|
-
<link href="/stylesheets/codemirror.css" rel="stylesheet">
|
18
|
-
<script src="/opal.js"></script>
|
19
|
-
<script src="/opal-parser.js"></script>
|
20
|
-
|
21
|
-
<script>
|
22
|
-
var viewer = CodeMirror(document.getElementById("viewer"), {
|
23
|
-
lineNumbers: true,
|
24
|
-
mode: "javascript",
|
25
|
-
readOnly: true
|
26
|
-
});
|
27
|
-
var editor = CodeMirror(document.getElementById("editor"), {
|
28
|
-
lineNumbers: true,
|
29
|
-
mode: "ruby",
|
30
|
-
tabMode: "shift"
|
31
|
-
});
|
32
|
-
|
33
|
-
var run = document.getElementById('run_code');
|
34
|
-
|
35
|
-
if (run.addEventListener) {
|
36
|
-
run.addEventListener('click', compile, false);
|
37
|
-
}
|
38
|
-
else {
|
39
|
-
run.attachEvent('onclick', compile);
|
40
|
-
}
|
41
|
-
// Initialize
|
42
|
-
editor.setValue("[1, 2, 3, 4].each do |a|\n puts a\nend\n\nclass Foo\n attr_reader :name\nend\n\nadam = Foo.new\nadam.name = 'Adam Beynon'\nputs adam.name");
|
43
|
-
// Functions to update editor and viewer content
|
44
|
-
function compile() {
|
45
|
-
try {
|
46
|
-
viewer.setValue(Opal.Opal.Parser.$new().$parse(editor.getValue()));
|
47
|
-
}
|
48
|
-
catch (err) {
|
49
|
-
}
|
50
|
-
return false;
|
51
|
-
}
|
52
|
-
</script>
|
@@ -1,32 +0,0 @@
|
|
1
|
-
class ArraySubclassSpec < Array
|
2
|
-
def add_val(val)
|
3
|
-
`#{self}.push(val)`
|
4
|
-
self
|
5
|
-
end
|
6
|
-
|
7
|
-
def foo
|
8
|
-
:bar
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "Array subclasses" do
|
13
|
-
it "should have their defined methods present on instances" do
|
14
|
-
ArraySubclassSpec.new.foo.should == :bar
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should correctly keep their length" do
|
18
|
-
arr = ArraySubclassSpec.new
|
19
|
-
arr.add_val :foo
|
20
|
-
arr.length.should == 1
|
21
|
-
end
|
22
|
-
|
23
|
-
it "should have the correct class" do
|
24
|
-
ArraySubclassSpec.new.class.should == ArraySubclassSpec
|
25
|
-
Array.new.class.should == Array
|
26
|
-
end
|
27
|
-
|
28
|
-
it "is just an instance of the bridged constructor" do
|
29
|
-
arr = ArraySubclassSpec.new
|
30
|
-
`(arr.constructor === Array)`.should == true
|
31
|
-
end
|
32
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
class ExceptionSubclassSpec < Exception
|
2
|
-
def nicer_message
|
3
|
-
message + ", but don't worry son - you'll learn"
|
4
|
-
end
|
5
|
-
end
|
6
|
-
|
7
|
-
describe "Exception subclasses" do
|
8
|
-
it "should correctly report the class" do
|
9
|
-
ExceptionSubclassSpec.new.class.should == ExceptionSubclassSpec
|
10
|
-
Exception.new.class.should == Exception
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should copy the subclasses methods onto instances" do
|
14
|
-
msg = "it failed, but don't worry son - you'll learn"
|
15
|
-
ExceptionSubclassSpec.new("it failed").nicer_message.should == msg
|
16
|
-
end
|
17
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
class StringSubclassSpec < String
|
2
|
-
def to_full_name
|
3
|
-
self + ' beynon'
|
4
|
-
end
|
5
|
-
end
|
6
|
-
|
7
|
-
describe "String subclasses" do
|
8
|
-
it "should correctly report the class" do
|
9
|
-
StringSubclassSpec.new.class.should == StringSubclassSpec
|
10
|
-
String.new.class.should == String
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should still set the string's value" do
|
14
|
-
s1 = String.new 'foo'
|
15
|
-
s1.class.should == String
|
16
|
-
s1.should == 'foo'
|
17
|
-
|
18
|
-
s2 = StringSubclassSpec.new 'bar'
|
19
|
-
s2.class.should == StringSubclassSpec
|
20
|
-
s2.should == 'bar'
|
21
|
-
end
|
22
|
-
|
23
|
-
it "should copy the subclasses methods onto instance" do
|
24
|
-
StringSubclassSpec.new('adam').to_full_name.should == 'adam beynon'
|
25
|
-
end
|
26
|
-
end
|