opal 0.5.0 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +0 -2
  3. data/README.md +1 -1
  4. data/Rakefile +11 -8
  5. data/lib/opal.rb +1 -1
  6. data/lib/opal/version.rb +1 -1
  7. data/opal.gemspec +1 -1
  8. data/{corelib → opal/core}/array.rb +47 -40
  9. data/{corelib → opal/core}/basic_object.rb +4 -0
  10. data/{corelib → opal/core}/boolean.rb +2 -6
  11. data/{corelib → opal/core}/class.rb +0 -0
  12. data/{corelib → opal/core}/comparable.rb +0 -0
  13. data/{corelib → opal/core}/encoding.rb +0 -0
  14. data/{corelib → opal/core}/enumerable.rb +160 -38
  15. data/opal/core/enumerator.rb +416 -0
  16. data/{corelib → opal/core}/error.rb +0 -0
  17. data/{corelib → opal/core}/hash.rb +38 -48
  18. data/{corelib → opal/core}/io.rb +13 -9
  19. data/{corelib → opal/core}/kernel.rb +75 -49
  20. data/{corelib → opal/core}/main.rb +0 -0
  21. data/{corelib → opal/core}/match_data.rb +0 -4
  22. data/{corelib → opal/core}/method.rb +0 -0
  23. data/{corelib → opal/core}/module.rb +24 -3
  24. data/{corelib → opal/core}/nil_class.rb +0 -4
  25. data/{corelib → opal/core}/numeric.rb +3 -4
  26. data/{corelib → opal/core}/proc.rb +0 -4
  27. data/{corelib → opal/core}/range.rb +0 -0
  28. data/{corelib → opal/core}/regexp.rb +0 -4
  29. data/{corelib → opal/core}/runtime.js +0 -0
  30. data/{corelib → opal/core}/string.rb +4 -6
  31. data/{corelib → opal/core}/struct.rb +3 -21
  32. data/{corelib → opal/core}/time.rb +0 -4
  33. data/opal/opal.rb +121 -0
  34. data/spec/corelib/array/select_spec.rb +14 -0
  35. data/spec/filters/20.rb +4 -0
  36. data/spec/filters/bugs/enumerable.rb +1 -48
  37. data/spec/filters/unsupported/enumerator.rb +13 -0
  38. data/spec/opal/compiler/irb_spec.rb +1 -0
  39. data/spec/rubyspecs +1 -0
  40. data/spec/{corelib → stdlib}/native/alias_native_spec.rb +6 -4
  41. data/spec/{corelib → stdlib}/native/each_spec.rb +3 -1
  42. data/spec/{corelib → stdlib}/native/element_reference_spec.rb +3 -1
  43. data/spec/stdlib/native/ext_spec.rb +19 -0
  44. data/spec/{corelib → stdlib}/native/initialize_spec.rb +4 -4
  45. data/spec/{corelib → stdlib}/native/method_missing_spec.rb +13 -1
  46. data/spec/{corelib → stdlib}/native/new_spec.rb +3 -1
  47. data/stdlib/enumerator.rb +1 -0
  48. data/stdlib/json.rb +1 -1
  49. data/stdlib/native.rb +483 -0
  50. metadata +52 -47
  51. data/corelib/enumerator.rb +0 -55
  52. data/corelib/native.rb +0 -270
  53. data/corelib/opal.rb +0 -88
  54. data/spec/corelib/native/ext_spec.rb +0 -5
  55. data/spec/filters/bugs/enumerator.rb +0 -6
data/corelib/opal.rb DELETED
@@ -1,88 +0,0 @@
1
- require 'runtime'
2
- require 'module'
3
- require 'class'
4
- require 'basic_object'
5
- require 'kernel'
6
- require 'nil_class'
7
- require 'boolean'
8
- require 'error'
9
- require 'regexp'
10
- require 'comparable'
11
- require 'enumerable'
12
- require 'enumerator'
13
- require 'array'
14
- require 'hash'
15
- require 'string'
16
- require 'match_data'
17
- require 'encoding'
18
- require 'numeric'
19
- require 'proc'
20
- require 'method'
21
- require 'range'
22
- require 'time'
23
- require 'struct'
24
- require 'native'
25
- require 'io'
26
- require 'main'
27
-
28
- # regexp matches
29
- $& = $~ = $` = $' = nil
30
-
31
- # stub library path
32
- $: = []
33
-
34
- # split lines
35
- $/ = "\n"
36
- $, = " "
37
-
38
- ARGV = []
39
- ARGF = Object.new
40
- ENV = {}
41
-
42
- RUBY_PLATFORM = 'opal'
43
- RUBY_ENGINE = 'opal'
44
- RUBY_VERSION = '1.9.3'
45
- RUBY_ENGINE_VERSION = '0.4.4'
46
- RUBY_RELEASE_DATE = '2013-08-13'
47
-
48
- module Opal
49
- def self.coerce_to(object, type, method)
50
- return object if type === object
51
-
52
- unless object.respond_to? method
53
- raise TypeError, "no implicit conversion of #{object.class} into #{type}"
54
- end
55
-
56
- object.__send__ method
57
- end
58
-
59
- def self.truthy?(value)
60
- if value
61
- true
62
- else
63
- false
64
- end
65
- end
66
-
67
- def self.falsy?(value)
68
- if value
69
- false
70
- else
71
- true
72
- end
73
- end
74
-
75
- def self.destructure(args)
76
- %x{
77
- if (args.length == 1) {
78
- return args[0];
79
- }
80
- else if (args._isArray) {
81
- return args;
82
- }
83
- else {
84
- return $slice.call(args);
85
- }
86
- }
87
- end
88
- end
@@ -1,5 +0,0 @@
1
- describe "Hash#to_n" do
2
- it "should return a js object representing hash" do
3
- Hash.new({:a => 100, :b => 200}.to_n).should == {:a => 100, :b => 200}
4
- end
5
- end
@@ -1,6 +0,0 @@
1
- opal_filter "Enumerator" do
2
- fails "Enumerator.new accepts a block"
3
- fails "Enumerator.new ignores block if arg given"
4
- fails "Enumerator#rewind works with peek to reset the position"
5
- fails "Enumerator#rewind calls the enclosed object's rewind method if one exists"
6
- end