clientside 0.4 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|