opal 0.3.34 → 0.3.35
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +5 -5
- data/lib/assets/javascripts/opal-parser.js.erb +1 -1
- data/lib/assets/javascripts/opal/core.rb +37 -0
- data/lib/opal.rb +3 -27
- data/lib/opal/processor.rb +4 -0
- data/lib/opal/version.rb +1 -1
- data/opal.gemspec +3 -1
- data/spec/core.html +10 -0
- data/spec/core_spec.rb +2 -0
- data/spec/grammar.html +11 -0
- data/spec/{parser/simple_spec.rb → grammar/parser_spec.rb} +0 -0
- data/spec/{core → grammar}/strscan/check_spec.rb +0 -0
- data/spec/{core → grammar}/strscan/scan_spec.rb +0 -0
- data/spec/grammar_spec.rb +1 -0
- data/spec/index.html +5 -3
- data/spec/spec_helper.rb +0 -1
- metadata +28 -10
- data/lib/assets/javascripts/opal/alpha.rb +0 -17
- data/lib/assets/javascripts/opal/core.js +0 -18
data/Rakefile
CHANGED
@@ -3,21 +3,21 @@ require 'opal-spec'
|
|
3
3
|
|
4
4
|
desc "Build opal.js into ./build"
|
5
5
|
task :opal => [:dir] do
|
6
|
-
File.open('build/opal.js', 'w+') { |o| o.puts Opal.
|
6
|
+
File.open('build/opal.js', 'w+') { |o| o.puts Opal.process('opal') }
|
7
7
|
end
|
8
8
|
|
9
9
|
desc "Build opal-parser.js into ./build"
|
10
10
|
task :parser => [:dir] do
|
11
|
-
File.open('build/opal-parser.js', 'w+') { |o| o.puts Opal.
|
11
|
+
File.open('build/opal-parser.js', 'w+') { |o| o.puts Opal.process('opal-parser') }
|
12
12
|
end
|
13
13
|
|
14
14
|
desc "Build specs ready to run"
|
15
15
|
task :build_specs => [:dir] do
|
16
16
|
Opal.append_path File.join(File.dirname(__FILE__), 'spec')
|
17
17
|
|
18
|
-
File.open('build/
|
19
|
-
|
20
|
-
|
18
|
+
File.open('build/core_spec.js', 'w+') { |o| o.puts Opal.process('core_spec') }
|
19
|
+
File.open('build/grammar_spec.js', 'w+') { |o| o.puts Opal.process('grammar_spec') }
|
20
|
+
File.open('build/specs.js', 'w+') { |o| o.puts Opal.process('spec_helper') }
|
21
21
|
end
|
22
22
|
|
23
23
|
task :default => [:build_specs, :parser, :test]
|
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
// We need (some) of the libs from our real ruby parser (not in sprockets load path)
|
5
5
|
<% ['/grammar', '/lexer', '/parser', '/scope', ''].each do |f| %>
|
6
|
-
<%= Opal.parse File.read(File.join Opal.
|
6
|
+
<%= Opal.parse File.read(File.join Opal.core_dir, '..', '..', "opal#{f}.rb") %>
|
7
7
|
<% end %>
|
8
8
|
|
9
9
|
(function() {
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#= require_self
|
2
|
+
#= require opal/class
|
3
|
+
#= require opal/basic_object
|
4
|
+
#= require opal/kernel
|
5
|
+
#= require opal/nil_class
|
6
|
+
#= require opal/boolean
|
7
|
+
#= require opal/error
|
8
|
+
#= require opal/regexp
|
9
|
+
#= require opal/comparable
|
10
|
+
#= require opal/enumerable
|
11
|
+
#= require opal/array
|
12
|
+
#= require opal/hash
|
13
|
+
#= require opal/string
|
14
|
+
#= require opal/numeric
|
15
|
+
#= require opal/proc
|
16
|
+
#= require opal/range
|
17
|
+
#= require opal/time
|
18
|
+
#= require opal/date
|
19
|
+
#= require opal/json
|
20
|
+
|
21
|
+
# regexp matches
|
22
|
+
$~ = nil
|
23
|
+
|
24
|
+
$/ = "\n"
|
25
|
+
|
26
|
+
RUBY_ENGINE = 'opal'
|
27
|
+
RUBY_PLATFORM = 'opal'
|
28
|
+
RUBY_VERSION = '1.9.2'
|
29
|
+
OPAL_VERSION = `__opal.version`
|
30
|
+
|
31
|
+
def to_s
|
32
|
+
'main'
|
33
|
+
end
|
34
|
+
|
35
|
+
def include(mod)
|
36
|
+
Object.include mod
|
37
|
+
end
|
data/lib/opal.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'opal/parser'
|
2
|
+
require 'opal/processor'
|
2
3
|
require 'opal/version'
|
3
4
|
|
4
5
|
# Opal is a ruby to javascript compiler, with a runtime for running
|
@@ -17,22 +18,6 @@ module Opal
|
|
17
18
|
Parser.new.parse str, file
|
18
19
|
end
|
19
20
|
|
20
|
-
# Returns opal runtime js code (string)
|
21
|
-
#
|
22
|
-
# Opal.runtime
|
23
|
-
# # => "(function() { Opal = {}; ... })();"
|
24
|
-
#
|
25
|
-
# @return [String] returns opal runtime/corelib as a string
|
26
|
-
def self.runtime
|
27
|
-
process('opal').rstrip
|
28
|
-
end
|
29
|
-
# Returns parser prebuilt for js-environments.
|
30
|
-
#
|
31
|
-
# @return [String]
|
32
|
-
def self.parser_code
|
33
|
-
process('opal-parser')
|
34
|
-
end
|
35
|
-
|
36
21
|
def self.core_dir
|
37
22
|
File.join File.dirname(__FILE__), 'assets', 'javascripts'
|
38
23
|
end
|
@@ -41,25 +26,16 @@ module Opal
|
|
41
26
|
paths << path
|
42
27
|
end
|
43
28
|
|
44
|
-
|
45
|
-
File.join File.dirname(__FILE__)
|
46
|
-
end
|
47
|
-
|
48
|
-
# Private, don't access these directly
|
29
|
+
# Private, don't add to these directly (use .append_path instead).
|
49
30
|
def self.paths
|
50
|
-
@paths ||= []
|
31
|
+
@paths ||= [Opal.core_dir]
|
51
32
|
end
|
52
33
|
|
53
34
|
# Build ruby/opal file at fname
|
54
35
|
def self.process(fname)
|
55
|
-
require 'opal/processor'
|
56
|
-
|
57
36
|
env = Sprockets::Environment.new
|
58
37
|
paths.each { |p| env.append_path p }
|
59
38
|
|
60
39
|
env[fname].to_s
|
61
40
|
end
|
62
41
|
end
|
63
|
-
|
64
|
-
# Add corelib to assets path
|
65
|
-
Opal.append_path Opal.core_dir
|
data/lib/opal/processor.rb
CHANGED
@@ -14,6 +14,7 @@ module Opal
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def prepare
|
17
|
+
# ...
|
17
18
|
end
|
18
19
|
|
19
20
|
def evaluate(scope, locals, &block)
|
@@ -24,3 +25,6 @@ end
|
|
24
25
|
|
25
26
|
Tilt.register 'rb', Opal::Processor
|
26
27
|
Sprockets.register_engine '.rb', Opal::Processor
|
28
|
+
|
29
|
+
Tilt.register 'opal', Opal::Processor
|
30
|
+
Sprockets.register_engine '.opal', Opal::Processor
|
data/lib/opal/version.rb
CHANGED
data/opal.gemspec
CHANGED
@@ -13,5 +13,7 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.files = `git ls-files`.split("\n")
|
14
14
|
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
15
15
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
-
s.require_paths = ['lib']
|
16
|
+
s.require_paths = ['lib']
|
17
|
+
|
18
|
+
s.add_runtime_dependency 'sprockets'
|
17
19
|
end
|
data/spec/core.html
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Opal corelib and runtime specs (core)</title>
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<script type="text/javascript" src="../build/specs.js"></script>
|
8
|
+
<script type="text/javascript" src="../build/core_spec.js"></script>
|
9
|
+
</body>
|
10
|
+
</html>
|
data/spec/core_spec.rb
ADDED
data/spec/grammar.html
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Opal corelib and runtime specs (grammar)</title>
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<script type="text/javascript" src="../build/specs.js"></script>
|
8
|
+
<script type="text/javascript" src="../build/opal-parser.js"></script>
|
9
|
+
<script type="text/javascript" src="../build/grammar_spec.js"></script>
|
10
|
+
</body>
|
11
|
+
</html>
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
#= require_tree ./grammar
|
data/spec/index.html
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
<!
|
1
|
+
<!DOCTYPE html>
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<title>Opal corelib and runtime specs</title>
|
5
|
-
<script type="text/javascript" src="../build/specs.js"></script>
|
6
|
-
<script type="text/javascript" src="../build/opal-parser.js"></script>
|
7
5
|
</head>
|
8
6
|
<body>
|
7
|
+
<script type="text/javascript" src="../build/specs.js"></script>
|
8
|
+
<script type="text/javascript" src="../build/opal-parser.js"></script>
|
9
|
+
<script type="text/javascript" src="../build/core_spec.js"></script>
|
10
|
+
<script type="text/javascript" src="../build/grammar_spec.js"></script>
|
9
11
|
</body>
|
10
12
|
</html>
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.35
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,18 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
date: 2013-02-05 00:00:00.000000000Z
|
13
|
-
dependencies:
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: sprockets
|
16
|
+
requirement: &70122599320160 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *70122599320160
|
14
25
|
description: Ruby runtime and core library for javascript.
|
15
26
|
email: adam.beynon@gmail.com
|
16
27
|
executables:
|
@@ -28,13 +39,12 @@ files:
|
|
28
39
|
- bin/opal
|
29
40
|
- lib/assets/javascripts/opal-parser.js.erb
|
30
41
|
- lib/assets/javascripts/opal.js.erb
|
31
|
-
- lib/assets/javascripts/opal/alpha.rb
|
32
42
|
- lib/assets/javascripts/opal/array.rb
|
33
43
|
- lib/assets/javascripts/opal/basic_object.rb
|
34
44
|
- lib/assets/javascripts/opal/boolean.rb
|
35
45
|
- lib/assets/javascripts/opal/class.rb
|
36
46
|
- lib/assets/javascripts/opal/comparable.rb
|
37
|
-
- lib/assets/javascripts/opal/core.
|
47
|
+
- lib/assets/javascripts/opal/core.rb
|
38
48
|
- lib/assets/javascripts/opal/date.rb
|
39
49
|
- lib/assets/javascripts/opal/enumerable.rb
|
40
50
|
- lib/assets/javascripts/opal/error.rb
|
@@ -59,6 +69,7 @@ files:
|
|
59
69
|
- lib/opal/scope.rb
|
60
70
|
- lib/opal/version.rb
|
61
71
|
- opal.gemspec
|
72
|
+
- spec/core.html
|
62
73
|
- spec/core/array/allocate_spec.rb
|
63
74
|
- spec/core/array/append_spec.rb
|
64
75
|
- spec/core/array/assoc_spec.rb
|
@@ -336,8 +347,6 @@ files:
|
|
336
347
|
- spec/core/string/to_sym_spec.rb
|
337
348
|
- spec/core/string/underscore_spec.rb
|
338
349
|
- spec/core/string/upcase_spec.rb
|
339
|
-
- spec/core/strscan/check_spec.rb
|
340
|
-
- spec/core/strscan/scan_spec.rb
|
341
350
|
- spec/core/symbol/to_proc_spec.rb
|
342
351
|
- spec/core/time/at_spec.rb
|
343
352
|
- spec/core/time/day_spec.rb
|
@@ -348,6 +357,8 @@ files:
|
|
348
357
|
- spec/core/time/month_spec.rb
|
349
358
|
- spec/core/time/now_spec.rb
|
350
359
|
- spec/core/time/saturday_spec.rb
|
360
|
+
- spec/core_spec.rb
|
361
|
+
- spec/grammar.html
|
351
362
|
- spec/grammar/alias_spec.rb
|
352
363
|
- spec/grammar/and_spec.rb
|
353
364
|
- spec/grammar/array_spec.rb
|
@@ -379,10 +390,13 @@ files:
|
|
379
390
|
- spec/grammar/op_asgn1_spec.rb
|
380
391
|
- spec/grammar/op_asgn2_spec.rb
|
381
392
|
- spec/grammar/or_spec.rb
|
393
|
+
- spec/grammar/parser_spec.rb
|
382
394
|
- spec/grammar/return_spec.rb
|
383
395
|
- spec/grammar/sclass_spec.rb
|
384
396
|
- spec/grammar/self_spec.rb
|
385
397
|
- spec/grammar/str_spec.rb
|
398
|
+
- spec/grammar/strscan/check_spec.rb
|
399
|
+
- spec/grammar/strscan/scan_spec.rb
|
386
400
|
- spec/grammar/super_spec.rb
|
387
401
|
- spec/grammar/true_spec.rb
|
388
402
|
- spec/grammar/undef_spec.rb
|
@@ -390,6 +404,7 @@ files:
|
|
390
404
|
- spec/grammar/while_spec.rb
|
391
405
|
- spec/grammar/xstr_spec.rb
|
392
406
|
- spec/grammar/yield_spec.rb
|
407
|
+
- spec/grammar_spec.rb
|
393
408
|
- spec/index.html
|
394
409
|
- spec/language/alias_spec.rb
|
395
410
|
- spec/language/and_spec.rb
|
@@ -422,7 +437,6 @@ files:
|
|
422
437
|
- spec/language/variables_spec.rb
|
423
438
|
- spec/language/while_spec.rb
|
424
439
|
- spec/language/yield_spec.rb
|
425
|
-
- spec/parser/simple_spec.rb
|
426
440
|
- spec/spec_helper.rb
|
427
441
|
homepage: http://opalrb.org
|
428
442
|
licenses: []
|
@@ -449,6 +463,7 @@ signing_key:
|
|
449
463
|
specification_version: 3
|
450
464
|
summary: Ruby runtime and core library for javascript
|
451
465
|
test_files:
|
466
|
+
- spec/core.html
|
452
467
|
- spec/core/array/allocate_spec.rb
|
453
468
|
- spec/core/array/append_spec.rb
|
454
469
|
- spec/core/array/assoc_spec.rb
|
@@ -726,8 +741,6 @@ test_files:
|
|
726
741
|
- spec/core/string/to_sym_spec.rb
|
727
742
|
- spec/core/string/underscore_spec.rb
|
728
743
|
- spec/core/string/upcase_spec.rb
|
729
|
-
- spec/core/strscan/check_spec.rb
|
730
|
-
- spec/core/strscan/scan_spec.rb
|
731
744
|
- spec/core/symbol/to_proc_spec.rb
|
732
745
|
- spec/core/time/at_spec.rb
|
733
746
|
- spec/core/time/day_spec.rb
|
@@ -738,6 +751,8 @@ test_files:
|
|
738
751
|
- spec/core/time/month_spec.rb
|
739
752
|
- spec/core/time/now_spec.rb
|
740
753
|
- spec/core/time/saturday_spec.rb
|
754
|
+
- spec/core_spec.rb
|
755
|
+
- spec/grammar.html
|
741
756
|
- spec/grammar/alias_spec.rb
|
742
757
|
- spec/grammar/and_spec.rb
|
743
758
|
- spec/grammar/array_spec.rb
|
@@ -769,10 +784,13 @@ test_files:
|
|
769
784
|
- spec/grammar/op_asgn1_spec.rb
|
770
785
|
- spec/grammar/op_asgn2_spec.rb
|
771
786
|
- spec/grammar/or_spec.rb
|
787
|
+
- spec/grammar/parser_spec.rb
|
772
788
|
- spec/grammar/return_spec.rb
|
773
789
|
- spec/grammar/sclass_spec.rb
|
774
790
|
- spec/grammar/self_spec.rb
|
775
791
|
- spec/grammar/str_spec.rb
|
792
|
+
- spec/grammar/strscan/check_spec.rb
|
793
|
+
- spec/grammar/strscan/scan_spec.rb
|
776
794
|
- spec/grammar/super_spec.rb
|
777
795
|
- spec/grammar/true_spec.rb
|
778
796
|
- spec/grammar/undef_spec.rb
|
@@ -780,6 +798,7 @@ test_files:
|
|
780
798
|
- spec/grammar/while_spec.rb
|
781
799
|
- spec/grammar/xstr_spec.rb
|
782
800
|
- spec/grammar/yield_spec.rb
|
801
|
+
- spec/grammar_spec.rb
|
783
802
|
- spec/index.html
|
784
803
|
- spec/language/alias_spec.rb
|
785
804
|
- spec/language/and_spec.rb
|
@@ -812,5 +831,4 @@ test_files:
|
|
812
831
|
- spec/language/variables_spec.rb
|
813
832
|
- spec/language/while_spec.rb
|
814
833
|
- spec/language/yield_spec.rb
|
815
|
-
- spec/parser/simple_spec.rb
|
816
834
|
- spec/spec_helper.rb
|
@@ -1,18 +0,0 @@
|
|
1
|
-
//= require opal/class
|
2
|
-
//= require opal/basic_object
|
3
|
-
//= require opal/kernel
|
4
|
-
//= require opal/nil_class
|
5
|
-
//= require opal/boolean
|
6
|
-
//= require opal/error
|
7
|
-
//= require opal/regexp
|
8
|
-
//= require opal/comparable
|
9
|
-
//= require opal/enumerable
|
10
|
-
//= require opal/array
|
11
|
-
//= require opal/hash
|
12
|
-
//= require opal/string
|
13
|
-
//= require opal/numeric
|
14
|
-
//= require opal/proc
|
15
|
-
//= require opal/range
|
16
|
-
//= require opal/time
|
17
|
-
//= require opal/date
|
18
|
-
//= require opal/json
|