nanite 0.4.1.15 → 0.4.1.16
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/lib/nanite.rb +1 -1
- data/lib/nanite/state.rb +31 -31
- metadata +2 -2
data/lib/nanite.rb
CHANGED
@@ -40,7 +40,7 @@ require 'nanite/security/static_certificate_store'
|
|
40
40
|
require 'nanite/serializer'
|
41
41
|
|
42
42
|
module Nanite
|
43
|
-
VERSION = '0.4.1.
|
43
|
+
VERSION = '0.4.1.16' unless defined?(Nanite::VERSION)
|
44
44
|
|
45
45
|
class MapperNotRunning < StandardError; end
|
46
46
|
|
data/lib/nanite/state.rb
CHANGED
@@ -48,8 +48,8 @@ module Nanite
|
|
48
48
|
log_redis_error("[]") do
|
49
49
|
status = @redis[nanite]
|
50
50
|
timestamp = @redis["t-#{nanite}"]
|
51
|
-
services = @redis.
|
52
|
-
tags = @redis.
|
51
|
+
services = @redis.smembers("s-#{nanite}")
|
52
|
+
tags = @redis.smembers("tg-#{nanite}")
|
53
53
|
return nil unless status && timestamp && services
|
54
54
|
{:services => services, :status => status, :timestamp => timestamp.to_i, :tags => tags}
|
55
55
|
end
|
@@ -63,66 +63,66 @@ module Nanite
|
|
63
63
|
|
64
64
|
def delete(nanite)
|
65
65
|
log_redis_error("delete") do
|
66
|
-
(@redis.
|
67
|
-
@redis.
|
68
|
-
if @redis.
|
69
|
-
@redis.
|
70
|
-
@redis.
|
66
|
+
(@redis.smembers("s-#{nanite}")||[]).each do |srv|
|
67
|
+
@redis.srem(srv, nanite)
|
68
|
+
if @redis.scard(srv) == 0
|
69
|
+
@redis.del(srv)
|
70
|
+
@redis.srem("naniteservices", srv)
|
71
71
|
end
|
72
72
|
end
|
73
|
-
(@redis.
|
74
|
-
@redis.
|
75
|
-
if @redis.
|
76
|
-
@redis.
|
77
|
-
@redis.
|
73
|
+
(@redis.smembers("tg-#{nanite}")||[]).each do |tag|
|
74
|
+
@redis.srem(tag, nanite)
|
75
|
+
if @redis.scard(tag) == 0
|
76
|
+
@redis.del(tag)
|
77
|
+
@redis.sdelete("nanitetags", tag)
|
78
78
|
end
|
79
79
|
end
|
80
|
-
@redis.
|
81
|
-
@redis.
|
82
|
-
@redis.
|
83
|
-
@redis.
|
80
|
+
@redis.del nanite
|
81
|
+
@redis.del "s-#{nanite}"
|
82
|
+
@redis.del "t-#{nanite}"
|
83
|
+
@redis.del "tg-#{nanite}"
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
87
|
def all_services
|
88
88
|
log_redis_error("all_services") do
|
89
|
-
@redis.
|
89
|
+
@redis.smembers("naniteservices")
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
93
|
def all_tags
|
94
94
|
log_redis_error("all_tags") do
|
95
|
-
@redis.
|
95
|
+
@redis.smembers("nanitetags")
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
99
99
|
def update_state(name, status, services, tags)
|
100
|
-
old_services = @redis.
|
100
|
+
old_services = @redis.smembers("s-#{name}")
|
101
101
|
if old_services
|
102
102
|
(old_services - services).each do |s|
|
103
|
-
@redis.
|
104
|
-
@redis.
|
103
|
+
@redis.srem(s, name)
|
104
|
+
@redis.srem("naniteservices", s)
|
105
105
|
end
|
106
106
|
end
|
107
|
-
old_tags = @redis.
|
107
|
+
old_tags = @redis.smembers("tg-#{name}")
|
108
108
|
if old_tags
|
109
109
|
(old_tags - tags).each do |t|
|
110
|
-
@redis.
|
111
|
-
@redis.
|
110
|
+
@redis.srem(t, name)
|
111
|
+
@redis.srem("nanitetags", t)
|
112
112
|
end
|
113
113
|
end
|
114
114
|
@redis.delete("s-#{name}")
|
115
115
|
services.each do |srv|
|
116
|
-
@redis.
|
117
|
-
@redis.
|
118
|
-
@redis.
|
116
|
+
@redis.sadd(srv, name)
|
117
|
+
@redis.sadd("s-#{name}", srv)
|
118
|
+
@redis.sadd("naniteservices", srv)
|
119
119
|
end
|
120
120
|
@redis.delete("tg-#{name}")
|
121
121
|
tags.each do |tag|
|
122
122
|
next if tag.nil?
|
123
|
-
@redis.
|
124
|
-
@redis.
|
125
|
-
@redis.
|
123
|
+
@redis.sadd(tag, name)
|
124
|
+
@redis.sadd("tg-#{name}", tag)
|
125
|
+
@redis.sadd("nanitetags", tag)
|
126
126
|
end
|
127
127
|
update_status(name, status)
|
128
128
|
end
|
@@ -158,7 +158,7 @@ module Nanite
|
|
158
158
|
keys = tags.dup << service
|
159
159
|
log_redis_error("nanites_for") do
|
160
160
|
res = []
|
161
|
-
(@redis.
|
161
|
+
(@redis.sinter(keys)||[]).each do |nan|
|
162
162
|
res << [nan, self[nan]]
|
163
163
|
end
|
164
164
|
res
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nanite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.1.
|
4
|
+
version: 0.4.1.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ezra Zygmuntowicz
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-
|
12
|
+
date: 2010-04-16 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|