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.
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