clientside 0.4 → 0.4.2
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.
- data/lib/clientside.rb +12 -12
- metadata +2 -2
data/lib/clientside.rb
CHANGED
@@ -9,20 +9,16 @@ module Clientside
|
|
9
9
|
GEM_DIR = File.dirname(__FILE__)
|
10
10
|
|
11
11
|
module Accessible
|
12
|
-
|
13
|
-
|
12
|
+
def self.included(base)
|
13
|
+
base.singleton_class.class_eval do
|
14
|
+
attr_reader :js_allowed
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
attr_reader :js_allowed
|
18
|
-
|
19
|
-
def js_allow(*args)
|
20
|
-
(@js_allowed ||= []).concat args
|
21
|
-
end
|
16
|
+
def js_allow(*args)
|
17
|
+
(@js_allowed ||= []).concat args
|
22
18
|
end
|
23
19
|
end
|
24
20
|
|
25
|
-
def reinflate(json, os)
|
21
|
+
def self.reinflate(json, os)
|
26
22
|
case json
|
27
23
|
when Hash
|
28
24
|
if json[:__clientside__]
|
@@ -82,7 +78,7 @@ module Clientside
|
|
82
78
|
|
83
79
|
if result.kind_of? Accessible
|
84
80
|
unless @@sockets[ws].length >= MAX_OBJECTS
|
85
|
-
register_obj ws, result
|
81
|
+
register_obj ws, result
|
86
82
|
else
|
87
83
|
raise "too many objects allocated"
|
88
84
|
end
|
@@ -166,7 +162,11 @@ module Clientside
|
|
166
162
|
|
167
163
|
def self.embed(objs)
|
168
164
|
objs.each do |var, obj|
|
169
|
-
|
165
|
+
if not var =~ /\A[a-zA-Z_]\w*\Z/
|
166
|
+
raise ArgumentError, "invalid var name: #{var}"
|
167
|
+
elsif not obj.kind_of? Accessible
|
168
|
+
raise ArgumentError, "non-js-allowed object: #{obj}"
|
169
|
+
end
|
170
170
|
end
|
171
171
|
cid = Middleware.add_pending objs.values
|
172
172
|
ERB.new(File.read(GEM_DIR + '/embed.erb'), nil, '-').result(binding)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clientside
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.4.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-02-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faye-websocket
|