ruby2js 1.1.2 → 1.1.3

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.
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: []