socketcake 0.1.10 → 0.1.11

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/socketcake.rb +20 -19
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 01dd809e212298ea151d409535db90f0c152f515
4
- data.tar.gz: 74cf06dd1793681c7eecc6339502303c9d92bc38
3
+ metadata.gz: efe19988ea3a916a565cf9d0ecc678270099f0fd
4
+ data.tar.gz: c59af841f0f2c8ffff5e29764c0f1c5724e338ef
5
5
  SHA512:
6
- metadata.gz: d6f454b2eecedec658f67a054c98f868b75fbf19a4312ad67c7a41105b5b9090a43aba2b4445b9b8d0509d028710de3e22743ca8687dba0949b62a90fe8975bc
7
- data.tar.gz: 94ab6d4672b15df2b15d817943dcf28dda529c2f98a4e035d1dfac726ec4dc32210f6544ba832a4b8d41a720d263e75f200adbbf98fefa50c99e5e8290c4039f
6
+ metadata.gz: ad2296a7ddd426425576fa59e185b2351d20b119061541f2f875aefdf7627d2a7b8470f52e8b13d9c087ead332d7f55fce6953910b6d71688871074d7f965904
7
+ data.tar.gz: 12dd2a500e08e19b96da343bac0e59ff0c95fd92b18588cb4b7379501a7c89cea73307c865c3873e791cbc45ba0130fca21296b844febbf75cd9f96c0501c02d
data/lib/socketcake.rb CHANGED
@@ -1,36 +1,37 @@
1
1
  require 'websocket-eventmachine-client'
2
2
  require 'json'
3
- require 'net/http'
3
+ require 'net/http'
4
4
  class SocketCake
5
- attr_accessor :task_list, :storage
6
- def initialize cookie,task_list=[]
7
- @cookie = cookie
8
- @task_list = task_list
9
- @storage = Hash.new
10
- end
11
-
5
+ attr_accessor :task_list, :storage
6
+
7
+ def initialize cookie, task_list=[]
8
+ @cookie = cookie
9
+ @task_list = task_list
10
+ @storage = Hash.new
11
+ end
12
+
12
13
  def roll
13
14
  EM.run do
14
15
  create_sockets @task_list
15
- socks = ObjectSpace.each_object(BaseSocket).to_a
16
- socks.count do |t|
17
- t.start { |data| return true if @storage[t.class.to_s]=data }
16
+ task_list.each do |task|
17
+ t = self.instance_variable_get(:"@#{task.name.downcase}")
18
+ t.start { |data| @storage[t.class.to_s]=data; EM.stop if task == task_list.last }
18
19
  end
19
20
  end
20
21
  end
21
22
 
22
23
 
24
+ private
23
25
 
24
- private
26
+ def create_sockets (task_list)
25
27
 
26
- def create_sockets (task_list)
27
- task_list.each do |task|
28
- klass = Object.const_get(task.name)
29
- if klass.superclass == BaseSocket
30
- self.instance_variable_set(:"@#{task.name.downcase}",klass.new(task.task_list, task.url, task.openmessage, @cookie, task.verbose))
31
- end
32
- end
28
+ task_list.each do |task|
29
+ klass = Object.const_get(task.name)
30
+ if klass.superclass == BaseSocket
31
+ self.instance_variable_set(:"@#{task.name.downcase}", klass.new(task.task_list, task.url, task.openmessage, @cookie, task.verbose))
32
+ end
33
33
  end
34
+ end
34
35
  end
35
36
 
36
37
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: socketcake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Timofey Poletaev