opal-connect 0.0.4 → 0.0.5
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/opal/connect/plugins/current_user.rb +8 -8
- data/lib/opal/connect/plugins/dom.rb +37 -19
- data/lib/opal/connect/plugins/events.rb +15 -5
- data/lib/opal/connect/plugins/form.rb +39 -0
- data/lib/opal/connect/plugins/html.rb +3 -3
- data/lib/opal/connect/plugins/server.rb +17 -17
- data/lib/opal/connect/rake_task.rb +41 -0
- data/lib/opal/connect/version.rb +1 -1
- data/lib/opal/connect.rb +58 -12
- data/lib/opal-connect.rb +1 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a72b12d975226cbaf9f606a275f479652f7f5fd
|
4
|
+
data.tar.gz: bc02721d66f97dc7dd5393e18fca455774e47c32
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8da7fefa7c29860141b0cddcdb89a2f9b8e8e601277eecafa39df1b77d02c3f44743001a5751f0f16bb1cb02d8d684229eb5fb5cd6ff1929cba9f670f6b61e87
|
7
|
+
data.tar.gz: 384e1482e818813dac36b0b0940761fc0ffce26099407d57677458b40b0b210e77cf6fb90d6915621c590f707b31bce7a03fd2d09b11657ab53e7cecb42488dc
|
@@ -9,19 +9,19 @@ module Opal
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.configure(connect, options = false)
|
12
|
-
|
13
|
-
unless RUBY_ENGINE == 'opal'
|
14
|
-
Connect::CLIENT_OPTIONS << 'current_user'
|
15
|
-
connect.options[:plugin_requires] << options[:class_path]
|
16
|
-
require options[:class_path]
|
17
|
-
end
|
12
|
+
return unless options
|
18
13
|
|
19
|
-
|
14
|
+
unless RUBY_ENGINE == 'opal'
|
15
|
+
Connect::CLIENT_OPTIONS << 'current_user'
|
16
|
+
connect.options[:plugin_requires] << options[:class_path]
|
17
|
+
require options[:class_path]
|
20
18
|
end
|
19
|
+
|
20
|
+
connect.options[:current_user] = options
|
21
21
|
end
|
22
22
|
|
23
23
|
ConnectJavascript = -> do
|
24
|
-
"$current_user = Base64.decode64('#{Base64.encode64 current_user.to_h.to_json}')"
|
24
|
+
"$current_user = JSON.parse Base64.decode64('#{Base64.encode64 current_user.to_h.to_json}')"
|
25
25
|
end
|
26
26
|
|
27
27
|
module InstanceMethods
|
@@ -40,17 +40,17 @@ module Opal
|
|
40
40
|
if !block_given?
|
41
41
|
HTML::DSL.html(&scope).to_html
|
42
42
|
else
|
43
|
-
HTML::DSL.scope!(scope).html(&block).to_html
|
43
|
+
HTML::DSL.scope!(scope).html!(&block).to_html
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
47
|
def dom(selector = false)
|
48
48
|
if RUBY_ENGINE == 'opal'
|
49
49
|
selector ||= 'html'
|
50
|
-
Instance.new selector, cache
|
50
|
+
Instance.new selector, cache, self
|
51
51
|
else
|
52
52
|
selector ||= false
|
53
|
-
@dom ||= Instance.new selector, cache
|
53
|
+
@dom ||= Instance.new selector, cache, self
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
@@ -63,22 +63,21 @@ module Opal
|
|
63
63
|
def dom(selector = false)
|
64
64
|
if RUBY_ENGINE == 'opal'
|
65
65
|
selector ||= 'html'
|
66
|
-
Instance.new selector, cache
|
66
|
+
Instance.new selector, cache, self
|
67
67
|
else
|
68
68
|
selector ||= cache[:html]
|
69
|
-
@dom ||= Instance.new selector, cache
|
69
|
+
@dom ||= Instance.new selector, cache, self
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
74
|
class Instance
|
75
|
-
|
75
|
+
attr_reader :selector, :cache, :dom, :scope
|
76
76
|
|
77
|
-
|
78
|
-
|
79
|
-
def initialize(selector, cache)
|
77
|
+
def initialize(selector, cache, scope)
|
80
78
|
@selector = selector
|
81
79
|
@cache = cache
|
80
|
+
@scope = scope
|
82
81
|
|
83
82
|
if selector.is_a?(String)
|
84
83
|
if RUBY_ENGINE == 'opal'
|
@@ -98,12 +97,14 @@ module Opal
|
|
98
97
|
end
|
99
98
|
|
100
99
|
def set html
|
101
|
-
@dom = Instance.new(html, cache)
|
100
|
+
@dom = Instance.new(html, cache, scope)
|
101
|
+
@dom.save!
|
102
|
+
@dom
|
102
103
|
end
|
103
104
|
alias set! set
|
104
105
|
|
105
106
|
def load html
|
106
|
-
Instance.new(html, cache)
|
107
|
+
Instance.new(html, cache, scope)
|
107
108
|
end
|
108
109
|
alias load! load
|
109
110
|
|
@@ -129,7 +130,20 @@ module Opal
|
|
129
130
|
end
|
130
131
|
end
|
131
132
|
|
132
|
-
if RUBY_ENGINE
|
133
|
+
if RUBY_ENGINE == 'opal'
|
134
|
+
def on(name, selector = false, &handler)
|
135
|
+
if scope.respond_to?(:connect_events_started)
|
136
|
+
wrapper = -> (e) do
|
137
|
+
scope.connect_events_started(e, name, selector)
|
138
|
+
scope.instance_exec(e, &handler)
|
139
|
+
end
|
140
|
+
|
141
|
+
node.on(name, selector, &wrapper)
|
142
|
+
else
|
143
|
+
node.on(name, selector, &handler)
|
144
|
+
end
|
145
|
+
end
|
146
|
+
else
|
133
147
|
def to_s
|
134
148
|
if dom.respond_to?(:first)
|
135
149
|
dom.first.to_xml
|
@@ -179,7 +193,7 @@ module Opal
|
|
179
193
|
|
180
194
|
def tmpl(name)
|
181
195
|
if cached_tmpl = cache[:"#{name}"]
|
182
|
-
Instance.new(cached_tmpl, cache)
|
196
|
+
Instance.new(cached_tmpl, cache, scope)
|
183
197
|
else
|
184
198
|
puts "There is no template `#{name}`"
|
185
199
|
end
|
@@ -187,7 +201,7 @@ module Opal
|
|
187
201
|
|
188
202
|
def append(content = false, &block)
|
189
203
|
# content becomes scope in this case
|
190
|
-
content = HTML::DSL.scope!(content).html(&block).to_html if block_given?
|
204
|
+
content = HTML::DSL.scope!(content).html!(&block).to_html if block_given?
|
191
205
|
|
192
206
|
if RUBY_ENGINE == 'opal'
|
193
207
|
node.append(content)
|
@@ -210,7 +224,7 @@ module Opal
|
|
210
224
|
|
211
225
|
def prepend(content = false, &block)
|
212
226
|
# content becomes scope in this case
|
213
|
-
content = HTML::DSL.scope!(content).html(&block).to_html if block_given?
|
227
|
+
content = HTML::DSL.scope!(content).html!(&block).to_html if block_given?
|
214
228
|
|
215
229
|
if RUBY_ENGINE == 'opal'
|
216
230
|
node.prepend(content)
|
@@ -233,7 +247,7 @@ module Opal
|
|
233
247
|
|
234
248
|
def html(content = false, &block)
|
235
249
|
# content becomes scope in this case
|
236
|
-
content = HTML::DSL.scope!(content).html(&block).to_html if block_given?
|
250
|
+
content = HTML::DSL.scope!(content).html!(&block).to_html if block_given?
|
237
251
|
|
238
252
|
if RUBY_ENGINE == 'opal'
|
239
253
|
node.html(content)
|
@@ -265,11 +279,11 @@ module Opal
|
|
265
279
|
end
|
266
280
|
end
|
267
281
|
|
268
|
-
Instance.new(new_node, cache)
|
282
|
+
Instance.new(new_node, cache, scope)
|
269
283
|
end
|
270
284
|
|
271
285
|
def each
|
272
|
-
node.each { |n| yield Instance.new(n, cache) }
|
286
|
+
node.each { |n| yield Instance.new(n, cache, scope) }
|
273
287
|
end
|
274
288
|
|
275
289
|
def node
|
@@ -297,7 +311,11 @@ module Opal
|
|
297
311
|
super
|
298
312
|
end
|
299
313
|
|
300
|
-
|
314
|
+
if RUBY_ENGINE == 'opal'
|
315
|
+
n.is_a?(Element) ? Instance.new(n, cache, scope) : n
|
316
|
+
else
|
317
|
+
n.class.name['Oga::'] ? Instance.new(n, cache, scope) : n
|
318
|
+
end
|
301
319
|
end
|
302
320
|
end
|
303
321
|
end
|
@@ -4,6 +4,13 @@ module Opal
|
|
4
4
|
module Events
|
5
5
|
$connect_events = ConnectCache.new if RUBY_ENGINE == 'opal'
|
6
6
|
|
7
|
+
module InstanceMethods
|
8
|
+
def connect_event_instance_variables(event, _name, _selector)
|
9
|
+
# gives you access to this, like jquery
|
10
|
+
@this = dom event.current_target
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
7
14
|
module ClassMethods
|
8
15
|
if RUBY_ENGINE == 'opal'
|
9
16
|
def connect_events
|
@@ -61,16 +68,19 @@ module Opal
|
|
61
68
|
|
62
69
|
events.map! do |event|
|
63
70
|
klass, name, selector, handler = event
|
64
|
-
c = klass.name == 'Opal::Connect' ? klass : klass.new
|
65
71
|
|
66
72
|
wrapper = ->(e) do
|
67
|
-
#
|
68
|
-
|
73
|
+
# we want to create an anonymous class so we can use instance
|
74
|
+
# methods if events are coming from the Connect module.
|
75
|
+
c = klass.name == 'Opal::Connect' \
|
76
|
+
? Class.new { include Opal::Connect }.new \
|
77
|
+
: klass.new
|
78
|
+
c.connect_event_instance_variables(e, name, selector)
|
69
79
|
c.instance_exec(e, &handler)
|
70
80
|
end
|
71
81
|
|
72
|
-
if name
|
73
|
-
el.on(name, selector, &wrapper)
|
82
|
+
if name != :document
|
83
|
+
el.dom.on(name, selector, &wrapper)
|
74
84
|
else
|
75
85
|
Document.on(selector, &wrapper)
|
76
86
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
unless RUBY_ENGINE == 'opal'
|
2
|
+
Opal.use_gem 'scrivener-opal'
|
3
|
+
end
|
4
|
+
|
5
|
+
require 'scrivener'
|
6
|
+
|
7
|
+
module Opal
|
8
|
+
module Connect
|
9
|
+
class Form < ::Scrivener; end
|
10
|
+
|
11
|
+
module ConnectPlugins
|
12
|
+
module Form
|
13
|
+
FORM_EVENTS = %i`submit keydown keyup change`
|
14
|
+
|
15
|
+
def self.load_dependencies(connect, *args)
|
16
|
+
connect.plugin :events
|
17
|
+
end
|
18
|
+
|
19
|
+
module InstanceMethods
|
20
|
+
def connect_event_instance_variables(_event, name, _selector)
|
21
|
+
super
|
22
|
+
|
23
|
+
# we only want to grab form params if we are submitting a form
|
24
|
+
return unless FORM_EVENTS.include?(name)
|
25
|
+
|
26
|
+
@params = {}
|
27
|
+
|
28
|
+
# grab all of the form params!
|
29
|
+
Native(@this.serialize_array).each do |item|
|
30
|
+
@params[item[:name]] = item[:value]
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
register_plugin :form, Form
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -14,8 +14,8 @@ module Opal
|
|
14
14
|
td textarea tfoot th thead time title tr track tt u ul var video wbr}
|
15
15
|
|
16
16
|
module InstanceMethods
|
17
|
-
def html(&block)
|
18
|
-
HTML::DSL.scope!(self).html(&block).to_html
|
17
|
+
def html!(&block)
|
18
|
+
HTML::DSL.scope!(self).html!(&block).to_html
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
@@ -66,7 +66,7 @@ module Opal
|
|
66
66
|
class << self
|
67
67
|
attr_accessor :scope
|
68
68
|
|
69
|
-
def html &block
|
69
|
+
def html! &block
|
70
70
|
DSL.scope!(scope).new(nil, nil, &block)
|
71
71
|
end
|
72
72
|
|
@@ -17,9 +17,23 @@ module Opal
|
|
17
17
|
Connect.server_methods[self.name] ||= []
|
18
18
|
end
|
19
19
|
|
20
|
-
def
|
20
|
+
def server(method = false, *args, &block)
|
21
|
+
if RUBY_ENGINE != 'opal'
|
22
|
+
method ||= Module.new(&block)
|
23
|
+
|
24
|
+
yield if block_given?
|
25
|
+
|
26
|
+
method.public_instance_methods(false).each do |meth|
|
27
|
+
connect_server_methods << meth unless connect_server_methods.include? meth
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
module InstanceMethods
|
34
|
+
def server(method, *args)
|
21
35
|
if RUBY_ENGINE == 'opal'
|
22
|
-
klass_name = self.name
|
36
|
+
klass_name = self.class.name
|
23
37
|
|
24
38
|
if Connect.server_methods[klass_name].include? method
|
25
39
|
promise = Promise.new
|
@@ -44,23 +58,9 @@ module Opal
|
|
44
58
|
raise "#{method} is not a server method"
|
45
59
|
end
|
46
60
|
else
|
47
|
-
method
|
48
|
-
|
49
|
-
yield if block_given?
|
50
|
-
|
51
|
-
method.public_instance_methods(false).each do |meth|
|
52
|
-
connect_server_methods << meth unless connect_server_methods.include? meth
|
53
|
-
end
|
61
|
+
send(method, *args)
|
54
62
|
end
|
55
63
|
end
|
56
|
-
alias server __server__
|
57
|
-
end
|
58
|
-
|
59
|
-
module InstanceMethods
|
60
|
-
def __server__(method, *args)
|
61
|
-
self.class.server(method, *args)
|
62
|
-
end
|
63
|
-
alias server __server__
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Opal
|
2
|
+
module Connect
|
3
|
+
class RakeTask
|
4
|
+
include Rake::DSL if defined? Rake::DSL
|
5
|
+
|
6
|
+
DEFAULT_OPTIONS = { port: 8080, host: '0.0.0.0' }
|
7
|
+
|
8
|
+
def initialize(name = 'webpack', opts = {})
|
9
|
+
options = DEFAULT_OPTIONS.merge opts
|
10
|
+
|
11
|
+
namespace name do
|
12
|
+
Opal::Connect.setup
|
13
|
+
Opal::Config.dynamic_require_severity = 'ignore'
|
14
|
+
Opal.append_path Dir.pwd
|
15
|
+
|
16
|
+
opal_file_path = "#{Dir.pwd}/.connect/opal.js"
|
17
|
+
|
18
|
+
unless File.exist? opal_file_path
|
19
|
+
builder = Opal::Builder.new
|
20
|
+
build_str = '`require("expose?$!expose?jQuery!jquery")`; require "opal"; require "opal-jquery"; require "opal/connect"; require "opal-parser";'
|
21
|
+
builder.build_str(build_str, '(inline)', { dynamic_require_severity: :ignore })
|
22
|
+
File.write opal_file_path, builder.to_s
|
23
|
+
end
|
24
|
+
|
25
|
+
desc "Start webpack"
|
26
|
+
task :run do
|
27
|
+
exec({"OPAL_LOAD_PATH" => Opal.paths.join(":")}, "webpack-dev-server --progress -d --host #{options[:host]} --port #{options[:port]} --compress --devtool eval --progress --colors --historyApiFallback true --hot --watch")
|
28
|
+
end
|
29
|
+
|
30
|
+
desc "Build webpack"
|
31
|
+
task :build do
|
32
|
+
exec({
|
33
|
+
"OPAL_LOAD_PATH" => Opal.paths.join(":"),
|
34
|
+
"RACK_ENV" => 'production'
|
35
|
+
}, 'webpack --progress')
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
data/lib/opal/connect/version.rb
CHANGED
data/lib/opal/connect.rb
CHANGED
@@ -8,14 +8,56 @@ if RUBY_ENGINE == 'opal'
|
|
8
8
|
$console.log(*args)
|
9
9
|
end
|
10
10
|
end
|
11
|
+
else
|
12
|
+
Opal.append_path File.expand_path('../..', __FILE__).untaint
|
11
13
|
end
|
12
14
|
|
13
|
-
# Opal corelib is already loaded from CDN
|
14
15
|
module Opal
|
15
16
|
module Connect
|
16
17
|
CLIENT_OPTIONS = %w'url plugins' unless RUBY_ENGINE == 'opal'
|
17
18
|
|
18
19
|
class << self
|
20
|
+
attr_accessor :pids
|
21
|
+
|
22
|
+
def run(scope, server, opts = {})
|
23
|
+
if ENV['CUTEST']
|
24
|
+
scope.run server
|
25
|
+
else
|
26
|
+
@pids = []
|
27
|
+
options = { env: { RACK_ENV: ENV['RACK_ENV']} }.merge opts
|
28
|
+
|
29
|
+
envs = options[:env].to_a.map { |k, v| "#{k}=#{v}" }.join ' '
|
30
|
+
pids << {
|
31
|
+
name: 'webpack',
|
32
|
+
pid: Process.spawn("#{envs} bundle exec rake webpack:run")
|
33
|
+
}
|
34
|
+
|
35
|
+
if (cutest = Connect.options[:cutest]) && pids.select { |pid| pid[:name] == 'cutest' }.empty?
|
36
|
+
envs = cutest[:env].to_a.map { |k, v| "#{k}=#{v}" }.join ' '
|
37
|
+
pids << {
|
38
|
+
name: 'cutest',
|
39
|
+
pid: Process.spawn("#{envs} #{cutest[:run]}")
|
40
|
+
}
|
41
|
+
end
|
42
|
+
|
43
|
+
scope.send(:at_exit) { quit_pids }
|
44
|
+
|
45
|
+
scope.run server
|
46
|
+
end
|
47
|
+
rescue
|
48
|
+
quit_pids
|
49
|
+
end
|
50
|
+
|
51
|
+
def quit_pids
|
52
|
+
begin
|
53
|
+
while pids.length > 0
|
54
|
+
Process.kill "QUIT", (pids.shift)[:pid]
|
55
|
+
end
|
56
|
+
rescue
|
57
|
+
# process already dead
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
19
61
|
def options
|
20
62
|
@options ||= Connect::ConnectCache.new(
|
21
63
|
hot_reload: false,
|
@@ -65,14 +107,18 @@ module Opal
|
|
65
107
|
plugins_path = Connect.options[:plugins_path]
|
66
108
|
|
67
109
|
if plugins_path && File.exist?("#{plugins_path}/#{name}.rb")
|
68
|
-
|
110
|
+
path = "require('#{plugins_path}/#{name}')"
|
111
|
+
path = "`#{path}`" if Connect.options[:hot_reload]
|
112
|
+
file.puts path
|
69
113
|
else
|
70
|
-
file.puts "require
|
114
|
+
file.puts "require('opal/connect/plugins/#{name}')"
|
71
115
|
end
|
72
116
|
end
|
73
117
|
|
74
118
|
Connect.options[:plugin_requires].each do |require_path|
|
75
|
-
|
119
|
+
path = "require('#{require_path}')"
|
120
|
+
path = "`#{path}`" if Connect.options[:hot_reload]
|
121
|
+
file.puts path
|
76
122
|
end
|
77
123
|
end
|
78
124
|
end
|
@@ -238,12 +284,14 @@ module Opal
|
|
238
284
|
javascript = Connect.options[:javascript]
|
239
285
|
|
240
286
|
if javascript.length
|
241
|
-
javascript.each do |block|
|
287
|
+
javascript.uniq.each do |block|
|
242
288
|
js << klass.instance_exec(&block)
|
243
289
|
end
|
244
290
|
end
|
245
291
|
|
246
292
|
%{
|
293
|
+
#{js.join(';')}
|
294
|
+
|
247
295
|
Document.ready? do
|
248
296
|
klass = #{klass.class.name}.new
|
249
297
|
|
@@ -251,20 +299,16 @@ module Opal
|
|
251
299
|
klass.__send__(:#{method}, *JSON.parse(Base64.decode64('#{Base64.encode64 options.to_json}')))
|
252
300
|
end
|
253
301
|
|
254
|
-
#{js.join(';')}
|
255
|
-
|
256
302
|
Opal::Connect.start_events unless $connect_events_started
|
257
303
|
end
|
258
304
|
}
|
259
305
|
end
|
260
306
|
|
261
307
|
def write_entry_file(klass = false, method = false, *options)
|
262
|
-
Opal.use_gem 'opal-jquery'
|
263
|
-
|
264
308
|
path = "#{Dir.pwd}/.connect/entry.js"
|
265
309
|
|
266
310
|
required_files = Connect.files.uniq.map do |file|
|
267
|
-
|
311
|
+
"`require('#{file}')`"
|
268
312
|
end.join(';')
|
269
313
|
|
270
314
|
client_options = Connect.options.hash.select do |key, _|
|
@@ -272,11 +316,13 @@ module Opal
|
|
272
316
|
end
|
273
317
|
|
274
318
|
client_options = Base64.encode64 client_options.to_json
|
275
|
-
templates = Base64.encode64 Connect.templates.hash.to_json
|
276
319
|
|
277
320
|
code = "Opal::Connect.options = JSON.parse(Base64.decode64('#{client_options}'));"
|
278
321
|
code = "#{code} Opal::Connect.setup;"
|
279
|
-
|
322
|
+
if Connect.respond_to? :templates
|
323
|
+
templates = Base64.encode64 Connect.templates.hash.to_json
|
324
|
+
code = "#{code} Opal::Connect.templates = JSON.parse(Base64.decode64('#{templates}'));"
|
325
|
+
end
|
280
326
|
code = %{#{code} Opal::Connect.server_methods = JSON.parse(
|
281
327
|
Base64.decode64('#{Base64.encode64 Connect.server_methods.to_json}')
|
282
328
|
);}
|
data/lib/opal-connect.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'opal/connect'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opal-connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- cj
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: opal
|
@@ -92,15 +92,18 @@ files:
|
|
92
92
|
- LICENSE.txt
|
93
93
|
- README.md
|
94
94
|
- Rakefile
|
95
|
+
- lib/opal-connect.rb
|
95
96
|
- lib/opal/connect.rb
|
96
97
|
- lib/opal/connect/plugins/abilities.rb
|
97
98
|
- lib/opal/connect/plugins/current_user.rb
|
98
99
|
- lib/opal/connect/plugins/dom.rb
|
99
100
|
- lib/opal/connect/plugins/events.rb
|
101
|
+
- lib/opal/connect/plugins/form.rb
|
100
102
|
- lib/opal/connect/plugins/html.rb
|
101
103
|
- lib/opal/connect/plugins/pjax.rb
|
102
104
|
- lib/opal/connect/plugins/scope.rb
|
103
105
|
- lib/opal/connect/plugins/server.rb
|
106
|
+
- lib/opal/connect/rake_task.rb
|
104
107
|
- lib/opal/connect/version.rb
|
105
108
|
- opal-connect.gemspec
|
106
109
|
homepage: ''
|
@@ -123,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
126
|
version: '0'
|
124
127
|
requirements: []
|
125
128
|
rubyforge_project:
|
126
|
-
rubygems_version: 2.
|
129
|
+
rubygems_version: 2.4.5.1
|
127
130
|
signing_key:
|
128
131
|
specification_version: 4
|
129
132
|
summary: Connects Opal to Ruby.
|