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.
Files changed (104) hide show
  1. data/.travis.yml +1 -1
  2. data/Gemfile +1 -9
  3. data/README.md +46 -5
  4. data/Rakefile +4 -94
  5. data/core/array.rb +13 -46
  6. data/core/basic_object.rb +2 -12
  7. data/core/boolean.rb +1 -1
  8. data/core/browser.js +27 -1
  9. data/core/class.rb +1 -7
  10. data/core/enumerable.rb +3 -15
  11. data/core/error.rb +2 -4
  12. data/core/hash.rb +9 -18
  13. data/core/json.rb +5 -0
  14. data/core/kernel.rb +2 -21
  15. data/core/load_order +5 -7
  16. data/core/nil_class.rb +4 -0
  17. data/core/numeric.rb +0 -6
  18. data/core/object.rb +1 -5
  19. data/core/proc.rb +0 -4
  20. data/core/range.rb +10 -17
  21. data/core/regexp.rb +2 -6
  22. data/core/runtime.js +2 -26
  23. data/core/string.rb +28 -26
  24. data/core/struct.rb +0 -4
  25. data/core/{erb.rb → templates.rb} +6 -4
  26. data/core/time.rb +7 -19
  27. data/core/top_self.rb +2 -2
  28. data/lib/opal.rb +13 -2
  29. data/lib/opal/builder.rb +3 -3
  30. data/lib/opal/erb_parser.rb +3 -2
  31. data/lib/opal/parser.rb +10 -2
  32. data/lib/opal/rake_task.rb +10 -2
  33. data/lib/opal/scope.rb +6 -1
  34. data/lib/opal/version.rb +1 -1
  35. data/opal.gemspec +1 -3
  36. data/spec/core/array/constructor_spec.rb +0 -8
  37. data/spec/core/enumerable/drop_while_spec.rb +0 -4
  38. data/spec/core/enumerable/find_index_spec.rb +0 -4
  39. data/spec/core/enumerable/select_spec.rb +13 -0
  40. data/spec/core/kernel/respond_to_spec.rb +4 -0
  41. data/spec/core/string/empty_spec.rb +0 -1
  42. data/spec/core/string/include_spec.rb +0 -6
  43. data/spec/core/string/swapcase_spec.rb +0 -5
  44. data/spec/core/string/to_s_spec.rb +0 -7
  45. data/spec/core/string/to_str_spec.rb +0 -7
  46. data/spec/lib/erb_parser/simple.erb +1 -0
  47. data/spec/{grammar → lib/grammar}/alias_spec.rb +0 -0
  48. data/spec/{grammar → lib/grammar}/and_spec.rb +0 -0
  49. data/spec/{grammar → lib/grammar}/array_spec.rb +0 -0
  50. data/spec/{grammar → lib/grammar}/attrasgn_spec.rb +0 -0
  51. data/spec/{grammar → lib/grammar}/begin_spec.rb +0 -0
  52. data/spec/{grammar → lib/grammar}/block_spec.rb +0 -0
  53. data/spec/{grammar → lib/grammar}/break_spec.rb +0 -0
  54. data/spec/{grammar → lib/grammar}/call_spec.rb +0 -0
  55. data/spec/{grammar → lib/grammar}/class_spec.rb +0 -0
  56. data/spec/{grammar → lib/grammar}/const_spec.rb +0 -0
  57. data/spec/{grammar → lib/grammar}/cvar_spec.rb +0 -0
  58. data/spec/{grammar → lib/grammar}/def_spec.rb +0 -0
  59. data/spec/{grammar → lib/grammar}/false_spec.rb +0 -0
  60. data/spec/{grammar → lib/grammar}/file_spec.rb +0 -0
  61. data/spec/{grammar → lib/grammar}/gvar_spec.rb +0 -0
  62. data/spec/{grammar → lib/grammar}/hash_spec.rb +0 -0
  63. data/spec/{grammar → lib/grammar}/iasgn_spec.rb +0 -0
  64. data/spec/{grammar → lib/grammar}/if_spec.rb +0 -0
  65. data/spec/{grammar → lib/grammar}/iter_spec.rb +0 -0
  66. data/spec/{grammar → lib/grammar}/ivar_spec.rb +0 -0
  67. data/spec/{grammar → lib/grammar}/lambda_spec.rb +0 -0
  68. data/spec/{grammar → lib/grammar}/lasgn_spec.rb +0 -0
  69. data/spec/{grammar → lib/grammar}/line_spec.rb +0 -0
  70. data/spec/{grammar → lib/grammar}/lvar_spec.rb +0 -0
  71. data/spec/{grammar → lib/grammar}/masgn_spec.rb +0 -0
  72. data/spec/{grammar → lib/grammar}/module_spec.rb +0 -0
  73. data/spec/{grammar → lib/grammar}/nil_spec.rb +0 -0
  74. data/spec/{grammar → lib/grammar}/not_spec.rb +0 -0
  75. data/spec/{grammar → lib/grammar}/op_asgn1_spec.rb +0 -0
  76. data/spec/{grammar → lib/grammar}/op_asgn2_spec.rb +0 -0
  77. data/spec/{grammar → lib/grammar}/or_spec.rb +0 -0
  78. data/spec/{grammar → lib/grammar}/return_spec.rb +0 -0
  79. data/spec/{grammar → lib/grammar}/sclass_spec.rb +0 -0
  80. data/spec/{grammar → lib/grammar}/self_spec.rb +0 -0
  81. data/spec/{grammar → lib/grammar}/str_spec.rb +0 -0
  82. data/spec/{grammar → lib/grammar}/super_spec.rb +0 -0
  83. data/spec/{grammar → lib/grammar}/true_spec.rb +0 -0
  84. data/spec/{grammar → lib/grammar}/undef_spec.rb +0 -0
  85. data/spec/{grammar → lib/grammar}/unless_spec.rb +0 -0
  86. data/spec/{grammar → lib/grammar}/while_spec.rb +0 -0
  87. data/spec/{grammar → lib/grammar}/xstr_spec.rb +0 -0
  88. data/spec/{grammar → lib/grammar}/yield_spec.rb +0 -0
  89. data/spec/{parser → lib/parser}/simple_spec.rb +1 -1
  90. data/spec/opal/erb/erb_spec.rb +10 -2
  91. data/spec/opal/string/demodulize_spec.rb +10 -0
  92. data/spec/opal/string/underscore_spec.rb +17 -0
  93. data/spec/spec_helper.rb +1 -1
  94. data/vendor/opal_spec_runner.js +43 -0
  95. metadata +99 -114
  96. data/.rspec +0 -2
  97. data/docs/index.md +0 -616
  98. data/docs/post.html +0 -3
  99. data/docs/pre.html +0 -35
  100. data/docs/try.html +0 -52
  101. data/spec/core/string/fixtures/classes.rb +0 -3
  102. data/spec/opal/array/subclassing_spec.rb +0 -32
  103. data/spec/opal/exception/subclassing_spec.rb +0 -17
  104. data/spec/opal/string/subclassing_spec.rb +0 -26
data/docs/post.html DELETED
@@ -1,3 +0,0 @@
1
- </div>
2
- </body>
3
- </html>
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,3 +0,0 @@
1
- module StringSpecs
2
- class MyString < String; end
3
- end
@@ -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