ruby2js 1.1.2 → 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NjUxMDkzZTNjNjc2NTYyYWVjOGNjMjZhNjU4YjgxMzEyZjBiYWU5OA==
5
+ data.tar.gz: !binary |-
6
+ YmQyYmI3ZjJlMTQwNjQ2NzIzZGUwZTk2MThhODA5ZmFkMjEwYWEwOA==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ MmY5OWVlZWRmNDliY2MxOTRmNzk4ZmQ2YTI5MTg2N2Q0ODJmNWE0MDk3NzAw
10
+ OTBkMjJmN2YzMjc0OTYyZmUyMjA2Y2E0YmZjZDZhNGZkMDEwOWVkOTk3NWI2
11
+ NWFmZmJmNjg4ZTM3N2U1YzU0YjYyNjI0NzRmNDZlOWVmOWMyZDI=
12
+ data.tar.gz: !binary |-
13
+ YmJkYmJlMjBlNDE0OGJlMDY3Njg0YjQwMWNjZjJjMzBmMzE3NTVkNzcxZjcz
14
+ MWIzZGI0ZGMwN2ZhMjAwODQ4MjM0MTU0NGUxMDVlMzIyYzlhNmY3MzhkM2E5
15
+ ZjdmNjVlYTJlYzg2Y2RjNDYwOGNhZjNhNjhmZDFlNzFhMTA5OTA=
data/README.md CHANGED
@@ -45,8 +45,8 @@ Introduction
45
45
  ---
46
46
 
47
47
  JavaScript is a language where `0` is considered `false`, strings are
48
- immutable, and the [behaviors](http://zero.milosz.ca/) for operators like `==`
49
- are, at best, convoluted.
48
+ immutable, and the behaviors for operators like `==` are, at best,
49
+ [convoluted](http://zero.milosz.ca/).
50
50
 
51
51
  Any attempt to bridge the semantics of Ruby and JavaScript will involve
52
52
  trade-offs. Consider the following expression:
@@ -57,7 +57,7 @@ a[-1]
57
57
 
58
58
  Programmers who are familiar with Ruby will recognize that this returns the
59
59
  last element (or character) of an array (or string). However, the meaning is
60
- quite different if a is a Hash.
60
+ quite different if `a` is a Hash.
61
61
 
62
62
  One way to resolve this is to change the way indexing operators are evaluated,
63
63
  and to provide a runtime library that adds properties to global JavaScript
@@ -104,9 +104,9 @@ includes three such integrations:
104
104
  * [Sinatra](https://github.com/rubys/ruby2js/blob/master/lib/ruby2js/sinatra.rb)
105
105
  * [Rails](https://github.com/rubys/ruby2js/blob/master/lib/ruby2js/rails.rb)
106
106
 
107
- As you might expect, CGI is a bit sluggish. By constrast, Sinatra is speedy.
108
- Rails is not only equally speedy on the first call, after that it will
109
- avoid the coversion entirely and serve cached results instead.
107
+ As you might expect, CGI is a bit sluggish. By constrast, Sinatra are quite
108
+ speedy as the bulk of the time is spend on the initial load of the required
109
+ libraries.
110
110
 
111
111
  Filters
112
112
  ---
@@ -136,12 +136,16 @@ the script.
136
136
  * `puts` becomes `console.log`
137
137
  * `each` becomes `forEach` unless jquery is included
138
138
  * `each_with_index` becomes `forEach`
139
+ * `setInterval` and `setTimeout` allow block to be treated as the
140
+ first parameter on the call
139
141
 
140
142
  * [jquery](https://github.com/rubys/ruby2js/blob/master/lib/ruby2js/filter/jquery.rb)
141
143
 
142
144
  * maps Ruby unary operator `~` to jQuery `$` function
143
145
  * maps Ruby attribute syntax to jquery attribute syntax
144
146
  * maps `$$` to jQuery `$` function
147
+ * defaults fourth parameter of $$.post to :jquery, allowing Ruby block
148
+ syntax to be used for the success function.
145
149
 
146
150
  * [angularrb](https://github.com/rubys/ruby2js/blob/master/lib/ruby2js/filter/angularrb.rb)
147
151
 
data/lib/ruby2js.rb CHANGED
@@ -39,6 +39,11 @@ module Ruby2JS
39
39
  ruby2js = Ruby2JS::Converter.new( ast )
40
40
 
41
41
  ruby2js.binding = options[:binding]
42
+ ruby2js.ivars = options[:ivars]
43
+ if ruby2js.binding and not ruby2js.ivars
44
+ ruby2js.ivars = ruby2js.binding.eval \
45
+ 'Hash[instance_variables.map {|var| [var, instance_variable_get(var)]}]'
46
+ end
42
47
 
43
48
  if source.include? "\n"
44
49
  ruby2js.enable_vertical_whitespace
@@ -6,7 +6,7 @@ module Ruby2JS
6
6
  OPERATORS = [:[], :[]=], [:not, :!], [:*, :/, :%], [:+, :-], [:>>, :<<],
7
7
  [:<=, :<, :>, :>=], [:==, :!=, :===, :"!=="], [:and, :or]
8
8
 
9
- attr_accessor :binding
9
+ attr_accessor :binding, :ivars
10
10
 
11
11
  def initialize( ast, vars = {} )
12
12
  @ast, @vars = ast, vars.dup
@@ -69,7 +69,13 @@ module Ruby2JS
69
69
  # prepend constructor
70
70
  body.unshift s(:def, parse(name), *init.children[1..-1])
71
71
 
72
- parse s(:begin, *body.compact)
72
+ begin
73
+ # inhibit ivar substitution within a class definition. See ivars.rb
74
+ ivars, self.ivars = self.ivars, nil
75
+ parse s(:begin, *body.compact)
76
+ ensure
77
+ self.ivars = ivars
78
+ end
73
79
  end
74
80
  end
75
81
  end
@@ -4,7 +4,11 @@ module Ruby2JS
4
4
  # (ivar :@a)
5
5
 
6
6
  handle :ivar do |var|
7
- var.to_s.sub('@', 'this._')
7
+ if self.ivars and self.ivars.include? var
8
+ Ruby2JS.convert(self.ivars[var].inspect)
9
+ else
10
+ var.to_s.sub('@', 'this._')
11
+ end
8
12
  end
9
13
  end
10
14
  end
@@ -32,27 +32,13 @@ module Ruby2JS
32
32
  return super unless parent_name.children == [nil, :Angular]
33
33
 
34
34
  @ngApp = module_name.children[1]
35
- @ngChildren = node.children
35
+ @ngChildren = node.children[1..-1]
36
+ while @ngChildren.length == 1 and @ngChildren.first and @ngChildren.first.type == :begin
37
+ @ngChildren = @ngChildren.first.children.dup
38
+ end
36
39
  @ngAppUses = []
37
40
 
38
- # find the block
39
41
  block = process_all(node.children[1..-1])
40
- while block.length == 1 and block.first and block.first.type == :begin
41
- block = block.first.children.dup
42
- end
43
-
44
- factories = []
45
- block.compact.each do |child|
46
- if child.type == :class and child.children.first.children.first == nil
47
- name = child.children.first
48
- if name.children.first == nil
49
- name = name.children.last
50
- factories << on_block(s(:block, s(:send, nil, :factory,
51
- s(:sym, name)), s(:args), s(:return, s(:const, nil, name))))
52
- end
53
- end
54
- end
55
- block += factories
56
42
 
57
43
  # convert use calls into dependencies
58
44
  depends = @ngAppUses.map {|sym| s(:sym, sym)} + extract_uses(block)
@@ -85,10 +71,40 @@ module Ruby2JS
85
71
  s(:begin, s(:casgn, nil, name, app), *block)), :[])
86
72
  end
87
73
 
74
+ # input:
75
+ # class name {...}
76
+ #
77
+ # output:
78
+ # app.factory(uses) do
79
+ # ...
80
+ # end
81
+ def on_class(node)
82
+ return super unless @ngApp and @ngChildren.include? node
83
+ name = node.children.first
84
+ if name.children.first == nil
85
+ block = [node.children.last]
86
+ uses = extract_uses(block)
87
+ node = process s(:class, name, node.children[1], s(:begin, *block))
88
+
89
+ @ngClassUses -= @ngClassOmit + [name.children.last]
90
+ args = @ngClassUses.map {|sym| s(:arg, sym)} + uses
91
+ args = args.map {|node| node.children.first.to_sym}.uniq.
92
+ map {|sym| s(:arg, sym)}
93
+ @ngClassUses, @ngClassOmit = [], []
94
+
95
+ s(:block, s(:send, s(:lvar, @ngApp), :factory,
96
+ s(:sym, name.children.last)), s(:args, *args),
97
+ s(:begin, node, s(:return, s(:const, nil, name.children.last))))
98
+ else
99
+ super
100
+ end
101
+ end
102
+
88
103
  # input:
89
104
  # filter :name { ... }
90
105
  # controller :name { ... }
91
106
  # factory :name { ... }
107
+ # directive :name { ... }
92
108
 
93
109
  def on_block(node)
94
110
  return super unless @ngApp
@@ -119,11 +135,7 @@ module Ruby2JS
119
135
  target = target.updated(nil, [s(:lvar, @ngApp),
120
136
  *target.children[1..-1]])
121
137
 
122
- # find the block
123
138
  block = process_all(node.children[2..-1])
124
- while block.length == 1 and block.first.type == :begin
125
- block = block.first.children.dup
126
- end
127
139
 
128
140
  # convert use calls into args
129
141
  @ngClassUses -= @ngClassOmit
@@ -131,7 +143,7 @@ module Ruby2JS
131
143
  args += @ngClassUses.map {|sym| s(:arg, sym)} + extract_uses(block)
132
144
  args = args.map {|node| node.children.first.to_sym}.uniq.
133
145
  map {|sym| s(:arg, sym)}
134
- @ngClassUses = @ngClassOmit = []
146
+ @ngClassUses, @ngClassOmit = [], []
135
147
 
136
148
  node.updated :block, [target, s(:args, *args), s(:begin, *block)]
137
149
  end
@@ -229,6 +241,11 @@ module Ruby2JS
229
241
  end
230
242
 
231
243
  def extract_uses(block)
244
+ # find the block
245
+ while block.length == 1 and block.first and block.first.type == :begin
246
+ block.push *block.shift.children
247
+ end
248
+
232
249
  # find use class method calls
233
250
  uses = block.find_all do |node|
234
251
  node and node.type == :send and node.children[0..1] == [nil, :use]
@@ -95,6 +95,14 @@ module Ruby2JS
95
95
  super
96
96
  end
97
97
  end
98
+
99
+ def on_block(node)
100
+ call = node.children.first
101
+ return super unless call.children.first == nil
102
+ return super unless [:setInterval, :setTimeout].include? call.children[1]
103
+ block = process s(:block, s(:send, nil, :proc), *node.children[1..-1])
104
+ call.updated nil, [*call.children[0..1], block, *call.children[2..-1]]
105
+ end
98
106
  end
99
107
 
100
108
  DEFAULTS.push Functions
@@ -23,10 +23,13 @@ require 'ruby2js'
23
23
  # Of course, using jQuery's style of getter and setter calls is supported,
24
24
  # and indeed is convenient when using method chaining.
25
25
  #
26
- # Finally, the tilde AST rewriting can be avoided by using consecutive tildes
27
- # (~~ is a common Ruby idiom for Math.floor, ~~~ will return the binary
26
+ # Additionally, the tilde AST rewriting can be avoided by using consecutive
27
+ # tildes (~~ is a common Ruby idiom for Math.floor, ~~~ will return the binary
28
28
  # one's complement.); and the getter and setter AST rewriting can be avoided
29
29
  # by the use of parenthesis, e.g. (~this).text.
30
+ #
31
+ # Finally, the fourth parameter of $.post defaults to :json, allowing Ruby
32
+ # block syntax to be used for the success function.
30
33
  #
31
34
  # Some examples of before/after conversions:
32
35
  #
@@ -149,6 +152,27 @@ module Ruby2JS
149
152
  super
150
153
  end
151
154
  end
155
+
156
+ # Example conversion:
157
+ # before:
158
+ # $$.post ... do ... end
159
+ # (block (send (gvar :$$) :post ...) (args) (...))
160
+ # after:
161
+ # $$.post ..., proc { ... }, :json
162
+ # (send (gvar :$$) :post ...
163
+ # (block (send nil :proc) (args) (...)) (:sym :json))
164
+ def on_block(node)
165
+ call = node.children.first
166
+ return super unless call.children.first == s(:gvar, :$$)
167
+ return super unless call.children[1] == :post
168
+ return super unless call.children.length <= 4
169
+ children = call.children.dup
170
+ children << s(:str, '') if children.length <= 2
171
+ children << s(:hash) if children.length <= 3
172
+ children << s(:block, s(:send, nil, :proc), *node.children[1..-1])
173
+ children << s(:sym, :json)
174
+ process call.updated nil, children
175
+ end
152
176
  end
153
177
 
154
178
  DEFAULTS.push JQuery
@@ -2,7 +2,7 @@ module Ruby2JS
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 1
4
4
  MINOR = 1
5
- TINY = 2
5
+ TINY = 3
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/ruby2js.gemspec CHANGED
@@ -2,22 +2,22 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "ruby2js"
5
- s.version = "1.1.2"
5
+ s.version = "1.1.3"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Sam Ruby"]
9
- s.date = "2013-12-01"
9
+ s.date = "2013-12-02"
10
10
  s.description = " The base package maps Ruby syntax to JavaScript semantics.\n Filters may be provided to add Ruby-specific or framework specific\n behavior.\n"
11
11
  s.email = "rubys@intertwingly.net"
12
- s.files = ["ruby2js.gemspec", "README.md", "lib/ruby2js", "lib/ruby2js/sinatra.rb", "lib/ruby2js/converter.rb", "lib/ruby2js/filter", "lib/ruby2js/filter/angular-route.rb", "lib/ruby2js/filter/jquery.rb", "lib/ruby2js/filter/return.rb", "lib/ruby2js/filter/angularrb.rb", "lib/ruby2js/filter/strict.rb", "lib/ruby2js/filter/functions.rb", "lib/ruby2js/filter/angular-resource.rb", "lib/ruby2js/converter", "lib/ruby2js/converter/ivasgn.rb", "lib/ruby2js/converter/self.rb", "lib/ruby2js/converter/undef.rb", "lib/ruby2js/converter/casgn.rb", "lib/ruby2js/converter/nil.rb", "lib/ruby2js/converter/logical.rb", "lib/ruby2js/converter/ivar.rb", "lib/ruby2js/converter/class.rb", "lib/ruby2js/converter/for.rb", "lib/ruby2js/converter/arg.rb", "lib/ruby2js/converter/literal.rb", "lib/ruby2js/converter/dstr.rb", "lib/ruby2js/converter/return.rb", "lib/ruby2js/converter/defined.rb", "lib/ruby2js/converter/boolean.rb", "lib/ruby2js/converter/next.rb", "lib/ruby2js/converter/array.rb", "lib/ruby2js/converter/def.rb", "lib/ruby2js/converter/args.rb", "lib/ruby2js/converter/regexp.rb", "lib/ruby2js/converter/var.rb", "lib/ruby2js/converter/defs.rb", "lib/ruby2js/converter/if.rb", "lib/ruby2js/converter/orasgn.rb", "lib/ruby2js/converter/masgn.rb", "lib/ruby2js/converter/hash.rb", "lib/ruby2js/converter/whilepost.rb", "lib/ruby2js/converter/break.rb", "lib/ruby2js/converter/opasgn.rb", "lib/ruby2js/converter/begin.rb", "lib/ruby2js/converter/xstr.rb", "lib/ruby2js/converter/vasgn.rb", "lib/ruby2js/converter/block.rb", "lib/ruby2js/converter/send.rb", "lib/ruby2js/converter/sym.rb", "lib/ruby2js/converter/case.rb", "lib/ruby2js/converter/kwbegin.rb", "lib/ruby2js/converter/const.rb", "lib/ruby2js/converter/module.rb", "lib/ruby2js/converter/until.rb", "lib/ruby2js/converter/untilpost.rb", "lib/ruby2js/converter/andasgn.rb", "lib/ruby2js/converter/blockpass.rb", "lib/ruby2js/converter/while.rb", "lib/ruby2js/cgi.rb", "lib/ruby2js/version.rb", "lib/ruby2js/rails.rb", "lib/ruby2js.rb"]
12
+ s.files = ["ruby2js.gemspec", "README.md", "lib/ruby2js", "lib/ruby2js/rails.rb", "lib/ruby2js/version.rb", "lib/ruby2js/converter", "lib/ruby2js/converter/orasgn.rb", "lib/ruby2js/converter/kwbegin.rb", "lib/ruby2js/converter/const.rb", "lib/ruby2js/converter/return.rb", "lib/ruby2js/converter/opasgn.rb", "lib/ruby2js/converter/xstr.rb", "lib/ruby2js/converter/args.rb", "lib/ruby2js/converter/defs.rb", "lib/ruby2js/converter/literal.rb", "lib/ruby2js/converter/array.rb", "lib/ruby2js/converter/if.rb", "lib/ruby2js/converter/nil.rb", "lib/ruby2js/converter/logical.rb", "lib/ruby2js/converter/next.rb", "lib/ruby2js/converter/while.rb", "lib/ruby2js/converter/whilepost.rb", "lib/ruby2js/converter/arg.rb", "lib/ruby2js/converter/case.rb", "lib/ruby2js/converter/break.rb", "lib/ruby2js/converter/hash.rb", "lib/ruby2js/converter/for.rb", "lib/ruby2js/converter/boolean.rb", "lib/ruby2js/converter/module.rb", "lib/ruby2js/converter/var.rb", "lib/ruby2js/converter/undef.rb", "lib/ruby2js/converter/blockpass.rb", "lib/ruby2js/converter/until.rb", "lib/ruby2js/converter/regexp.rb", "lib/ruby2js/converter/untilpost.rb", "lib/ruby2js/converter/masgn.rb", "lib/ruby2js/converter/block.rb", "lib/ruby2js/converter/ivar.rb", "lib/ruby2js/converter/send.rb", "lib/ruby2js/converter/vasgn.rb", "lib/ruby2js/converter/defined.rb", "lib/ruby2js/converter/def.rb", "lib/ruby2js/converter/sym.rb", "lib/ruby2js/converter/ivasgn.rb", "lib/ruby2js/converter/casgn.rb", "lib/ruby2js/converter/self.rb", "lib/ruby2js/converter/andasgn.rb", "lib/ruby2js/converter/begin.rb", "lib/ruby2js/converter/dstr.rb", "lib/ruby2js/converter/class.rb", "lib/ruby2js/cgi.rb", "lib/ruby2js/converter.rb", "lib/ruby2js/filter", "lib/ruby2js/filter/return.rb", "lib/ruby2js/filter/strict.rb", "lib/ruby2js/filter/angularrb.rb", "lib/ruby2js/filter/angular-resource.rb", "lib/ruby2js/filter/functions.rb", "lib/ruby2js/filter/jquery.rb", "lib/ruby2js/filter/angular-route.rb", "lib/ruby2js/sinatra.rb", "lib/ruby2js.rb"]
13
13
  s.homepage = "http://github.com/rubys/ruby2js"
14
14
  s.licenses = ["MIT"]
15
15
  s.require_paths = ["lib"]
16
- s.rubygems_version = "1.8.11"
16
+ s.rubygems_version = "2.0.7"
17
17
  s.summary = "Minimal yet extensible Ruby to JavaScript conversion."
18
18
 
19
19
  if s.respond_to? :specification_version then
20
- s.specification_version = 3
20
+ s.specification_version = 4
21
21
 
22
22
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
23
23
  s.add_runtime_dependency(%q<parser>, [">= 0"])
metadata CHANGED
@@ -1,27 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby2js
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
5
- prerelease:
4
+ version: 1.1.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Sam Ruby
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-12-01 00:00:00.000000000 Z
11
+ date: 2013-12-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: parser
16
- requirement: &8336660 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *8336660
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
25
27
  description: ! " The base package maps Ruby syntax to JavaScript semantics.\n Filters
26
28
  may be provided to add Ruby-specific or framework specific\n behavior.\n"
27
29
  email: rubys@intertwingly.net
@@ -31,86 +33,85 @@ extra_rdoc_files: []
31
33
  files:
32
34
  - ruby2js.gemspec
33
35
  - README.md
34
- - lib/ruby2js/sinatra.rb
35
- - lib/ruby2js/converter.rb
36
- - lib/ruby2js/filter/angular-route.rb
37
- - lib/ruby2js/filter/jquery.rb
38
- - lib/ruby2js/filter/return.rb
39
- - lib/ruby2js/filter/angularrb.rb
40
- - lib/ruby2js/filter/strict.rb
41
- - lib/ruby2js/filter/functions.rb
42
- - lib/ruby2js/filter/angular-resource.rb
43
- - lib/ruby2js/converter/ivasgn.rb
44
- - lib/ruby2js/converter/self.rb
45
- - lib/ruby2js/converter/undef.rb
46
- - lib/ruby2js/converter/casgn.rb
47
- - lib/ruby2js/converter/nil.rb
48
- - lib/ruby2js/converter/logical.rb
49
- - lib/ruby2js/converter/ivar.rb
50
- - lib/ruby2js/converter/class.rb
51
- - lib/ruby2js/converter/for.rb
52
- - lib/ruby2js/converter/arg.rb
53
- - lib/ruby2js/converter/literal.rb
54
- - lib/ruby2js/converter/dstr.rb
36
+ - lib/ruby2js/rails.rb
37
+ - lib/ruby2js/version.rb
38
+ - lib/ruby2js/converter/orasgn.rb
39
+ - lib/ruby2js/converter/kwbegin.rb
40
+ - lib/ruby2js/converter/const.rb
55
41
  - lib/ruby2js/converter/return.rb
56
- - lib/ruby2js/converter/defined.rb
57
- - lib/ruby2js/converter/boolean.rb
58
- - lib/ruby2js/converter/next.rb
59
- - lib/ruby2js/converter/array.rb
60
- - lib/ruby2js/converter/def.rb
42
+ - lib/ruby2js/converter/opasgn.rb
43
+ - lib/ruby2js/converter/xstr.rb
61
44
  - lib/ruby2js/converter/args.rb
62
- - lib/ruby2js/converter/regexp.rb
63
- - lib/ruby2js/converter/var.rb
64
45
  - lib/ruby2js/converter/defs.rb
46
+ - lib/ruby2js/converter/literal.rb
47
+ - lib/ruby2js/converter/array.rb
65
48
  - lib/ruby2js/converter/if.rb
66
- - lib/ruby2js/converter/orasgn.rb
67
- - lib/ruby2js/converter/masgn.rb
68
- - lib/ruby2js/converter/hash.rb
49
+ - lib/ruby2js/converter/nil.rb
50
+ - lib/ruby2js/converter/logical.rb
51
+ - lib/ruby2js/converter/next.rb
52
+ - lib/ruby2js/converter/while.rb
69
53
  - lib/ruby2js/converter/whilepost.rb
70
- - lib/ruby2js/converter/break.rb
71
- - lib/ruby2js/converter/opasgn.rb
72
- - lib/ruby2js/converter/begin.rb
73
- - lib/ruby2js/converter/xstr.rb
74
- - lib/ruby2js/converter/vasgn.rb
75
- - lib/ruby2js/converter/block.rb
76
- - lib/ruby2js/converter/send.rb
77
- - lib/ruby2js/converter/sym.rb
54
+ - lib/ruby2js/converter/arg.rb
78
55
  - lib/ruby2js/converter/case.rb
79
- - lib/ruby2js/converter/kwbegin.rb
80
- - lib/ruby2js/converter/const.rb
56
+ - lib/ruby2js/converter/break.rb
57
+ - lib/ruby2js/converter/hash.rb
58
+ - lib/ruby2js/converter/for.rb
59
+ - lib/ruby2js/converter/boolean.rb
81
60
  - lib/ruby2js/converter/module.rb
61
+ - lib/ruby2js/converter/var.rb
62
+ - lib/ruby2js/converter/undef.rb
63
+ - lib/ruby2js/converter/blockpass.rb
82
64
  - lib/ruby2js/converter/until.rb
65
+ - lib/ruby2js/converter/regexp.rb
83
66
  - lib/ruby2js/converter/untilpost.rb
67
+ - lib/ruby2js/converter/masgn.rb
68
+ - lib/ruby2js/converter/block.rb
69
+ - lib/ruby2js/converter/ivar.rb
70
+ - lib/ruby2js/converter/send.rb
71
+ - lib/ruby2js/converter/vasgn.rb
72
+ - lib/ruby2js/converter/defined.rb
73
+ - lib/ruby2js/converter/def.rb
74
+ - lib/ruby2js/converter/sym.rb
75
+ - lib/ruby2js/converter/ivasgn.rb
76
+ - lib/ruby2js/converter/casgn.rb
77
+ - lib/ruby2js/converter/self.rb
84
78
  - lib/ruby2js/converter/andasgn.rb
85
- - lib/ruby2js/converter/blockpass.rb
86
- - lib/ruby2js/converter/while.rb
79
+ - lib/ruby2js/converter/begin.rb
80
+ - lib/ruby2js/converter/dstr.rb
81
+ - lib/ruby2js/converter/class.rb
87
82
  - lib/ruby2js/cgi.rb
88
- - lib/ruby2js/version.rb
89
- - lib/ruby2js/rails.rb
83
+ - lib/ruby2js/converter.rb
84
+ - lib/ruby2js/filter/return.rb
85
+ - lib/ruby2js/filter/strict.rb
86
+ - lib/ruby2js/filter/angularrb.rb
87
+ - lib/ruby2js/filter/angular-resource.rb
88
+ - lib/ruby2js/filter/functions.rb
89
+ - lib/ruby2js/filter/jquery.rb
90
+ - lib/ruby2js/filter/angular-route.rb
91
+ - lib/ruby2js/sinatra.rb
90
92
  - lib/ruby2js.rb
91
93
  homepage: http://github.com/rubys/ruby2js
92
94
  licenses:
93
95
  - MIT
96
+ metadata: {}
94
97
  post_install_message:
95
98
  rdoc_options: []
96
99
  require_paths:
97
100
  - lib
98
101
  required_ruby_version: !ruby/object:Gem::Requirement
99
- none: false
100
102
  requirements:
101
103
  - - ! '>='
102
104
  - !ruby/object:Gem::Version
103
105
  version: '0'
104
106
  required_rubygems_version: !ruby/object:Gem::Requirement
105
- none: false
106
107
  requirements:
107
108
  - - ! '>='
108
109
  - !ruby/object:Gem::Version
109
110
  version: '0'
110
111
  requirements: []
111
112
  rubyforge_project:
112
- rubygems_version: 1.8.11
113
+ rubygems_version: 2.0.7
113
114
  signing_key:
114
- specification_version: 3
115
+ specification_version: 4
115
116
  summary: Minimal yet extensible Ruby to JavaScript conversion.
116
117
  test_files: []