opal_vue 0.0.1
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 +7 -0
- data/lib/vue.rb +70 -0
- metadata +44 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: da3bb3bd8f8d165c86f968a077257fdf4f535f5634ee8d9d030dd81938b89d93
|
4
|
+
data.tar.gz: f5a5f149429444a468204371f35208deb2ff86a53d0dcf008478bd1a8f75daad
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a029bad154a4e4e6d90864e197ed5df3203ad2186ad32c802207c9631fa845e9980517c96eca94fe6b66be1182f0ee6543a3bdff7d3ee635a7c8e3431ad4a85f
|
7
|
+
data.tar.gz: 111cdb5cfae10d558b89efa24d952ac2c01a08e2012835c0bfa4125de8518aa6be16cfbd584f621779f144682f31c31d41afc95ea9ac03205c417ef961138bba
|
data/lib/vue.rb
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'opal-parser'
|
2
|
+
|
3
|
+
# "@ ... @" for js_variable
|
4
|
+
# "# ... #" for js_function
|
5
|
+
# ": ... :" for html_code
|
6
|
+
|
7
|
+
class Vue
|
8
|
+
attr_accessor :value,:value_property,:error,:prefix,:suffix
|
9
|
+
@error = nil
|
10
|
+
#传入hash,被转换成js object 后进行eval
|
11
|
+
#用法 {"@name@"=> whatever,×},`{name:function,*}`
|
12
|
+
#目前基于eval实现性能堪忧
|
13
|
+
def initialize(hash)
|
14
|
+
@value_property = hash
|
15
|
+
@value = hash.to_s.gsub(/=>/,":").gsub(/\"@/,"").gsub(/@\"/,"")
|
16
|
+
#debug
|
17
|
+
puts self.value
|
18
|
+
@prefix = "`new Vue("
|
19
|
+
@suffix = ")`"
|
20
|
+
end
|
21
|
+
|
22
|
+
#"name:function(){...}"
|
23
|
+
def add_methods(methods_block_name,js_method)
|
24
|
+
self.value = self.value.chomp("}")
|
25
|
+
tmp = ","+methods_block_name+":"+js_method.to_s.gsub(/=>/,":").gsub(/\"@/,"").gsub(/@\"/,"").gsub(/\"#/,"").gsub(/#\"/,"") + "}"
|
26
|
+
puts tmp
|
27
|
+
self.value += tmp
|
28
|
+
#debug
|
29
|
+
puts self.value
|
30
|
+
|
31
|
+
end
|
32
|
+
=begin
|
33
|
+
def add_props(array_of_props)
|
34
|
+
self.value = self.value.chomp("}")
|
35
|
+
tmp = ",props:"+array_of_props.to_s+"}"
|
36
|
+
puts tmp
|
37
|
+
self.value += tmp
|
38
|
+
#debug
|
39
|
+
puts self.value
|
40
|
+
end
|
41
|
+
=end
|
42
|
+
|
43
|
+
#"components,{"@name@"=>{"@template@"=>":<h1>...<h1>:"}}"
|
44
|
+
def add_components(components_name,components)
|
45
|
+
self.value = self.value.chomp("}")
|
46
|
+
tmp = ","+components_name+":"+components.to_s.gsub(/\":/,"\"").gsub(/:\"/,"\"").gsub(/=>/,":").gsub(/\"@/,"").gsub(/@\"/,"") + "}"
|
47
|
+
puts tmp
|
48
|
+
self.value += tmp
|
49
|
+
#debug
|
50
|
+
puts self.value
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def apply()
|
55
|
+
source = self.prefix + self.value.gsub(/\\n/,"") + self.suffix
|
56
|
+
#debug
|
57
|
+
puts source
|
58
|
+
return eval(source)
|
59
|
+
puts "Error How did you get here????"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
=begin
|
63
|
+
class Global_component
|
64
|
+
def initialize(name,hash)
|
65
|
+
|
66
|
+
end
|
67
|
+
end
|
68
|
+
=end
|
69
|
+
#usage "@name@"=> whatever
|
70
|
+
|
metadata
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: opal_vue
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- LemonHX
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-04-29 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: This is a warper lib base on opal and warp vue.js to opal
|
14
|
+
email: runzhe2001@hotmail.com
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- lib/vue.rb
|
20
|
+
homepage: http://rubygems.org/gems/opal_vue
|
21
|
+
licenses:
|
22
|
+
- MIT
|
23
|
+
metadata: {}
|
24
|
+
post_install_message:
|
25
|
+
rdoc_options: []
|
26
|
+
require_paths:
|
27
|
+
- lib
|
28
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
|
+
requirements:
|
35
|
+
- - ">="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
requirements: []
|
39
|
+
rubyforge_project:
|
40
|
+
rubygems_version: 2.6.13
|
41
|
+
signing_key:
|
42
|
+
specification_version: 4
|
43
|
+
summary: opal_vue
|
44
|
+
test_files: []
|