goat 0.3.3 → 0.3.4
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/bin/state-srv +13 -0
- data/goat.gemspec +1 -1
- metadata +3 -3
data/bin/state-srv
CHANGED
@@ -26,6 +26,7 @@ module Goat
|
|
26
26
|
@components_by_id = {}
|
27
27
|
@components_by_page = {}
|
28
28
|
@last_connected = {}
|
29
|
+
@first_connected = {}
|
29
30
|
@page_connections = {}
|
30
31
|
@channelsrvs = {}
|
31
32
|
@page_versions = {}
|
@@ -52,6 +53,7 @@ module Goat
|
|
52
53
|
|
53
54
|
def initialize_page(pgid)
|
54
55
|
@page_versions[pgid] = 0
|
56
|
+
@first_connected[pgid] = Time.now
|
55
57
|
end
|
56
58
|
|
57
59
|
def incr_page_version(pgid)
|
@@ -88,6 +90,15 @@ module Goat
|
|
88
90
|
end
|
89
91
|
end
|
90
92
|
|
93
|
+
def first_connected_delta(pgid)
|
94
|
+
if connected = @first_connected[pgid]
|
95
|
+
Time.now - connected
|
96
|
+
else
|
97
|
+
$stderr.puts "ERROR: asked for first_connected_delta of #{pgid}, which I don't have"
|
98
|
+
Time.now - Time.at(0)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
91
102
|
def connected_pages
|
92
103
|
@page_connections.keys
|
93
104
|
end
|
@@ -199,9 +210,11 @@ module Goat
|
|
199
210
|
def live_components(msg)
|
200
211
|
ensure_keys(msg, %w{class spec})
|
201
212
|
|
213
|
+
# return newest components first
|
202
214
|
@registry.components_by_class(msg['class']).\
|
203
215
|
select{|c| c.spec == msg['spec']}.\
|
204
216
|
select{|c| @registry.connected?(c.pgid) || @registry.last_connected_delta(c.pgid) < 120}.\
|
217
|
+
sort_by{|c| @registry.first_connected_delta(c.pgid)}.\
|
205
218
|
map(&:to_hash)
|
206
219
|
end
|
207
220
|
|
data/goat.gemspec
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: goat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 4
|
10
|
+
version: 0.3.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Patrick Collison
|