clientside 0.4 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/clientside.rb +12 -12
  2. 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
- class << self
13
- attr_accessor :cur_os
12
+ def self.included(base)
13
+ base.singleton_class.class_eval do
14
+ attr_reader :js_allowed
14
15
 
15
- def included(base)
16
- base.singleton_class.class_eval do
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
- raise ArgumentError, "invalid var name" unless var =~ /\A[a-zA-Z_]\w*\Z/
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: '0.4'
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-01-30 00:00:00.000000000 Z
12
+ date: 2014-02-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faye-websocket