ruby2js 2.1.9 → 2.1.10
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 +4 -4
- data/lib/ruby2js.rb +1 -0
- data/lib/ruby2js/filter/vue.rb +33 -3
- data/lib/ruby2js/version.rb +1 -1
- data/ruby2js.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ce20d44e74884ee6398867509b8857afe6637c0
|
4
|
+
data.tar.gz: b747496f4be90b29eb5d0f53847687e699350540
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c421c508524c62b8edb36a605b3d9fdb91645a20298ce4451f90f69d00cfa1acd9eb4300c515d2b8d50973eb26fbb13e0980ec2bfc611d32d0badb025e48dcc4
|
7
|
+
data.tar.gz: 0642a682af8b19be72b772c78702e709ae3d7a4b83a5a67913b967852833be89c39bdda61497cd9f7b727006e63cca6ce428544ea5e9bfbe58a62512296166d8
|
data/lib/ruby2js.rb
CHANGED
data/lib/ruby2js/filter/vue.rb
CHANGED
@@ -127,8 +127,13 @@ module Ruby2JS
|
|
127
127
|
block = s(:begin, block) unless block and block.type == :begin
|
128
128
|
|
129
129
|
if
|
130
|
-
block.children.length != 1
|
131
|
-
|
130
|
+
(block.children.length != 1 and
|
131
|
+
not vue_wunderbar_free(block.children[0..-2])) or
|
132
|
+
|
133
|
+
not block.children.last or
|
134
|
+
|
135
|
+
(block.children.length == 1 and
|
136
|
+
not [:send, :block].include? block.children.first.type)
|
132
137
|
then
|
133
138
|
# wrap multi-line blocks with a 'span' element
|
134
139
|
block = s(:return,
|
@@ -529,6 +534,7 @@ module Ruby2JS
|
|
529
534
|
|
530
535
|
if value and value.type == :ivar
|
531
536
|
hash[:domProps]['value'] ||= value
|
537
|
+
hash[:domProps]['textContent'] ||= value if tag == 'textarea'
|
532
538
|
hash[:attrs].delete('value')
|
533
539
|
|
534
540
|
# disable control until script is ready
|
@@ -681,7 +687,7 @@ module Ruby2JS
|
|
681
687
|
end
|
682
688
|
|
683
689
|
elsif
|
684
|
-
VUE_METHODS.include? node.children[1] and
|
690
|
+
@vue_self and VUE_METHODS.include? node.children[1] and
|
685
691
|
node.children[0] == s(:const, nil, :Vue)
|
686
692
|
then
|
687
693
|
# vm methods
|
@@ -904,6 +910,30 @@ module Ruby2JS
|
|
904
910
|
process(node.children[1]))
|
905
911
|
end
|
906
912
|
|
913
|
+
# ensure that there are no "wunderbar" or "createElement" calls in
|
914
|
+
# a set of statements.
|
915
|
+
def vue_wunderbar_free(nodes)
|
916
|
+
nodes.each do |node|
|
917
|
+
if Parser::AST::Node === node
|
918
|
+
if node.type == :send
|
919
|
+
# wunderbar style calls
|
920
|
+
return false if node.children[0] == nil and
|
921
|
+
node.children[1].to_s.start_with? '_'
|
922
|
+
|
923
|
+
# Vue.createElement calls
|
924
|
+
return false if node.children[0] == s(:const, nil, :Vue) and
|
925
|
+
node.children[1] == :createElement
|
926
|
+
end
|
927
|
+
|
928
|
+
# recurse
|
929
|
+
return false unless vue_wunderbar_free(node.children)
|
930
|
+
end
|
931
|
+
end
|
932
|
+
|
933
|
+
# no problems found
|
934
|
+
return true
|
935
|
+
end
|
936
|
+
|
907
937
|
# gather ivar and cvar usage
|
908
938
|
def vue_walk(node, inventory = Hash.new {|h, k| h[k] = []})
|
909
939
|
# extract ivars and cvars
|
data/lib/ruby2js/version.rb
CHANGED
data/ruby2js.gemspec
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: ruby2js 2.1.
|
2
|
+
# stub: ruby2js 2.1.10 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "ruby2js".freeze
|
6
|
-
s.version = "2.1.
|
6
|
+
s.version = "2.1.10"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["Sam Ruby".freeze]
|
11
|
-
s.date = "2017-09-
|
11
|
+
s.date = "2017-09-19"
|
12
12
|
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".freeze
|
13
13
|
s.email = "rubys@intertwingly.net".freeze
|
14
14
|
s.files = ["README.md".freeze, "lib/ruby2js".freeze, "lib/ruby2js.rb".freeze, "lib/ruby2js/cgi.rb".freeze, "lib/ruby2js/converter".freeze, "lib/ruby2js/converter.rb".freeze, "lib/ruby2js/converter/arg.rb".freeze, "lib/ruby2js/converter/args.rb".freeze, "lib/ruby2js/converter/array.rb".freeze, "lib/ruby2js/converter/begin.rb".freeze, "lib/ruby2js/converter/block.rb".freeze, "lib/ruby2js/converter/blockpass.rb".freeze, "lib/ruby2js/converter/boolean.rb".freeze, "lib/ruby2js/converter/break.rb".freeze, "lib/ruby2js/converter/case.rb".freeze, "lib/ruby2js/converter/casgn.rb".freeze, "lib/ruby2js/converter/class.rb".freeze, "lib/ruby2js/converter/const.rb".freeze, "lib/ruby2js/converter/cvar.rb".freeze, "lib/ruby2js/converter/cvasgn.rb".freeze, "lib/ruby2js/converter/def.rb".freeze, "lib/ruby2js/converter/defined.rb".freeze, "lib/ruby2js/converter/defs.rb".freeze, "lib/ruby2js/converter/dstr.rb".freeze, "lib/ruby2js/converter/for.rb".freeze, "lib/ruby2js/converter/hash.rb".freeze, "lib/ruby2js/converter/if.rb".freeze, "lib/ruby2js/converter/in.rb".freeze, "lib/ruby2js/converter/ivar.rb".freeze, "lib/ruby2js/converter/ivasgn.rb".freeze, "lib/ruby2js/converter/kwbegin.rb".freeze, "lib/ruby2js/converter/literal.rb".freeze, "lib/ruby2js/converter/logical.rb".freeze, "lib/ruby2js/converter/masgn.rb".freeze, "lib/ruby2js/converter/module.rb".freeze, "lib/ruby2js/converter/next.rb".freeze, "lib/ruby2js/converter/nil.rb".freeze, "lib/ruby2js/converter/nthref.rb".freeze, "lib/ruby2js/converter/opasgn.rb".freeze, "lib/ruby2js/converter/prototype.rb".freeze, "lib/ruby2js/converter/regexp.rb".freeze, "lib/ruby2js/converter/return.rb".freeze, "lib/ruby2js/converter/self.rb".freeze, "lib/ruby2js/converter/send.rb".freeze, "lib/ruby2js/converter/super.rb".freeze, "lib/ruby2js/converter/sym.rb".freeze, "lib/ruby2js/converter/undef.rb".freeze, "lib/ruby2js/converter/until.rb".freeze, "lib/ruby2js/converter/untilpost.rb".freeze, "lib/ruby2js/converter/var.rb".freeze, "lib/ruby2js/converter/vasgn.rb".freeze, "lib/ruby2js/converter/while.rb".freeze, "lib/ruby2js/converter/whilepost.rb".freeze, "lib/ruby2js/converter/xstr.rb".freeze, "lib/ruby2js/execjs.rb".freeze, "lib/ruby2js/filter".freeze, "lib/ruby2js/filter/angular-resource.rb".freeze, "lib/ruby2js/filter/angular-route.rb".freeze, "lib/ruby2js/filter/angularrb.rb".freeze, "lib/ruby2js/filter/camelCase.rb".freeze, "lib/ruby2js/filter/functions.rb".freeze, "lib/ruby2js/filter/jquery.rb".freeze, "lib/ruby2js/filter/minitest-jasmine.rb".freeze, "lib/ruby2js/filter/react.rb".freeze, "lib/ruby2js/filter/require.rb".freeze, "lib/ruby2js/filter/return.rb".freeze, "lib/ruby2js/filter/rubyjs.rb".freeze, "lib/ruby2js/filter/strict.rb".freeze, "lib/ruby2js/filter/underscore.rb".freeze, "lib/ruby2js/filter/vue.rb".freeze, "lib/ruby2js/rails.rb".freeze, "lib/ruby2js/serializer.rb".freeze, "lib/ruby2js/sinatra.rb".freeze, "lib/ruby2js/version.rb".freeze, "ruby2js.gemspec".freeze]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby2js
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Ruby
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|