opal 0.3.22 → 0.3.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|