opal 0.3.34 → 0.3.35
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/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
|