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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/vue.rb +70 -0
  3. 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: []