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 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.runtime }
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.parser_code }
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/specs.js', 'w+') do |out|
19
- out.puts Opal.process('spec_helper')
20
- end
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.lib_dir, "opal#{f}.rb") %>
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
@@ -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
- def self.lib_dir
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Opal
2
- VERSION = '0.3.34'
2
+ VERSION = '0.3.35'
3
3
  end
@@ -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
@@ -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>
@@ -0,0 +1,2 @@
1
+ #= require_tree ./core
2
+ #= require_tree ./language
@@ -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>
@@ -0,0 +1 @@
1
+ #= require_tree ./grammar
@@ -1,10 +1,12 @@
1
- <!doctype html>
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>
@@ -1,6 +1,5 @@
1
1
  #= require opal
2
2
  #= require opal-spec
3
- #= require_tree .
4
3
 
5
4
  module Kernel
6
5
  def opal_eval(str)
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.34
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.js
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,17 +0,0 @@
1
- # regexp matches
2
- $~ = nil
3
-
4
- $/ = "\n"
5
-
6
- RUBY_ENGINE = 'opal'
7
- RUBY_PLATFORM = 'opal'
8
- RUBY_VERSION = '1.9.2'
9
- OPAL_VERSION = `__opal.version`
10
-
11
- def to_s
12
- 'main'
13
- end
14
-
15
- def include(mod)
16
- Object.include mod
17
- end
@@ -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