opal 0.3.22 → 0.3.25

Sign up to get free protection for your applications and to get access to all the features.
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