ruby_doozer 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -8
- data/README.md +6 -4
- data/Rakefile +5 -4
- data/lib/ruby_doozer/client.rb +3 -2
- data/lib/ruby_doozer/registry.rb +4 -12
- data/lib/ruby_doozer/version.rb +1 -1
- data/test/cached_registry_test.rb +2 -4
- data/test/client_test.rb +6 -4
- data/test/registry_test.rb +2 -4
- metadata +24 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d35c5108fdd5c6d848eba0575c8950f7112f67a
|
4
|
+
data.tar.gz: feab4e9400b886c736d5813ed362f14b0af171a1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c13324138a81aeb313ea82361d1047309f751b0820a476c5d5e4ae5ee404856e5609e75c7eeb2db49f3cfb8fbff59644f6de357e02b984fda12544bb28c4155e
|
7
|
+
data.tar.gz: 37d8d12800d7a96ef2372a85be8f68c2df716e3f9f29c515d1b100c96bb7bc99cab677a4223c5dbdf013f17a4099f66c871b2d61a62316117d52b92a242a02ca
|
data/Gemfile.lock
CHANGED
@@ -4,7 +4,7 @@ GEM
|
|
4
4
|
activesupport (3.2.13)
|
5
5
|
i18n (= 0.6.1)
|
6
6
|
multi_json (~> 1.0)
|
7
|
-
atomic (1.0.
|
7
|
+
atomic (1.0.2)
|
8
8
|
bourne (1.4.0)
|
9
9
|
mocha (~> 0.13.2)
|
10
10
|
gene_pool (1.3.0)
|
@@ -14,17 +14,17 @@ GEM
|
|
14
14
|
metaclass (~> 0.0.1)
|
15
15
|
multi_json (1.7.2)
|
16
16
|
rake (10.0.4)
|
17
|
-
resilient_socket (0.
|
18
|
-
semantic_logger
|
17
|
+
resilient_socket (0.5.0)
|
18
|
+
semantic_logger (>= 2.1)
|
19
19
|
ruby_protobuf (0.4.11)
|
20
|
-
semantic_logger (2.
|
21
|
-
sync_attr
|
22
|
-
thread_safe
|
20
|
+
semantic_logger (2.1.0)
|
21
|
+
sync_attr (>= 0.1.1)
|
22
|
+
thread_safe (>= 0.1.0)
|
23
23
|
shoulda (3.4.0)
|
24
24
|
shoulda-context (~> 1.0, >= 1.0.1)
|
25
25
|
shoulda-matchers (~> 1.0, >= 1.4.1)
|
26
|
-
shoulda-context (1.0
|
27
|
-
shoulda-matchers (1.5.
|
26
|
+
shoulda-context (1.1.0)
|
27
|
+
shoulda-matchers (1.5.6)
|
28
28
|
activesupport (>= 3.0.0)
|
29
29
|
bourne (~> 1.3)
|
30
30
|
sync_attr (0.1.1)
|
data/README.md
CHANGED
@@ -26,8 +26,8 @@ calls can be enabled as follows:
|
|
26
26
|
require 'rubygems'
|
27
27
|
require 'ruby_doozer'
|
28
28
|
|
29
|
-
SemanticLogger
|
30
|
-
SemanticLogger
|
29
|
+
SemanticLogger.default_level = :info
|
30
|
+
SemanticLogger.add_appender('doozer.log')
|
31
31
|
|
32
32
|
client = RubyDoozer::Client.new(:server => '127.0.0.1:8046')
|
33
33
|
client.set('/test/foo', 'value')
|
@@ -50,7 +50,8 @@ to the new servers:
|
|
50
50
|
require 'rubygems'
|
51
51
|
require 'ruby_doozer'
|
52
52
|
|
53
|
-
SemanticLogger
|
53
|
+
SemanticLogger.default_level = :info
|
54
|
+
SemanticLogger.add_appender('registry.log')
|
54
55
|
|
55
56
|
region = "Development"
|
56
57
|
application = "sprites"
|
@@ -94,7 +95,8 @@ As a result Registry#on_update callbacks will only be called for existing data
|
|
94
95
|
require 'rubygems'
|
95
96
|
require 'ruby_doozer'
|
96
97
|
|
97
|
-
SemanticLogger
|
98
|
+
SemanticLogger.default_level = :info
|
99
|
+
SemanticLogger.add_appender('registry.log')
|
98
100
|
|
99
101
|
region = "Development"
|
100
102
|
application = "sprites"
|
data/Rakefile
CHANGED
@@ -23,10 +23,11 @@ task :gem do |t|
|
|
23
23
|
spec.files = FileList["./**/*"].exclude(/\.gem$/, /\.log$/,/nbproject/).map{|f| f.sub(/^\.\//, '')}
|
24
24
|
spec.license = "Apache License V2.0"
|
25
25
|
spec.has_rdoc = true
|
26
|
-
spec.add_dependency 'semantic_logger'
|
27
|
-
spec.add_dependency 'resilient_socket'
|
28
|
-
spec.add_dependency 'ruby_protobuf'
|
29
|
-
spec.add_dependency 'gene_pool'
|
26
|
+
spec.add_dependency 'semantic_logger', '>= 2.1'
|
27
|
+
spec.add_dependency 'resilient_socket', '>= 0.5.0'
|
28
|
+
spec.add_dependency 'ruby_protobuf', '>= 0.4.11'
|
29
|
+
spec.add_dependency 'gene_pool', '>= 1.3.0'
|
30
|
+
spec.add_dependency 'sync_attr', '>= 1.0.0'
|
30
31
|
end
|
31
32
|
Gem::Package.build gemspec
|
32
33
|
end
|
data/lib/ruby_doozer/client.rb
CHANGED
@@ -5,7 +5,6 @@ require 'ruby_doozer/msg.pb'
|
|
5
5
|
|
6
6
|
module RubyDoozer
|
7
7
|
class Client
|
8
|
-
|
9
8
|
include SemanticLogger::Loggable
|
10
9
|
|
11
10
|
# Create a resilient client connection to a Doozer server
|
@@ -76,8 +75,10 @@ module RubyDoozer
|
|
76
75
|
end
|
77
76
|
|
78
77
|
# Returns just the value at the supplied path, not the revision
|
78
|
+
# Returns nil when the key was not found
|
79
79
|
def [](path)
|
80
|
-
get(path)
|
80
|
+
result = get(path)
|
81
|
+
result.rev > 0 ? result.value : nil
|
81
82
|
end
|
82
83
|
|
83
84
|
# Deletes the file at path if rev is greater than or equal to the file's revision.
|
data/lib/ruby_doozer/registry.rb
CHANGED
@@ -21,7 +21,7 @@ module RubyDoozer
|
|
21
21
|
# Logging instance for this class
|
22
22
|
include SemanticLogger::Loggable
|
23
23
|
|
24
|
-
attr_reader :doozer_config, :doozer_pool, :current_revision
|
24
|
+
attr_reader :doozer_config, :doozer_pool, :current_revision, :root_path
|
25
25
|
|
26
26
|
# Create a Registry instance to manage a path of information within doozer
|
27
27
|
#
|
@@ -203,13 +203,9 @@ module RubyDoozer
|
|
203
203
|
# value
|
204
204
|
# New value from doozer
|
205
205
|
#
|
206
|
-
# old_value
|
207
|
-
# nil if :cache is false
|
208
|
-
# otherwise the last value for this path in the local copy of the registry
|
209
|
-
#
|
210
206
|
# Example:
|
211
207
|
# registry.on_update do |path, value, old_value|
|
212
|
-
# puts "#{path} was updated to #{value}
|
208
|
+
# puts "#{path} was updated to #{value}"
|
213
209
|
# end
|
214
210
|
def on_update(path='*', &block)
|
215
211
|
# Start monitoring thread if not already started
|
@@ -230,13 +226,9 @@ module RubyDoozer
|
|
230
226
|
# Supplying a path of '*' means all paths
|
231
227
|
# Default: '*'
|
232
228
|
#
|
233
|
-
# old_value
|
234
|
-
# nil if :cache is false
|
235
|
-
# otherwise the last value for this path in the local copy of the registry
|
236
|
-
#
|
237
229
|
# Example:
|
238
|
-
# registry.on_delete do |path
|
239
|
-
# puts "#{path} was deleted
|
230
|
+
# registry.on_delete do |path|
|
231
|
+
# puts "#{path} was deleted"
|
240
232
|
# end
|
241
233
|
def on_delete(path='*', &block)
|
242
234
|
# Start monitoring thread if not already started
|
data/lib/ruby_doozer/version.rb
CHANGED
@@ -10,10 +10,8 @@ require 'ruby_doozer'
|
|
10
10
|
# This test assumes that doozerd is running locally on the default port of 8046
|
11
11
|
|
12
12
|
# Register an appender if one is not already registered
|
13
|
-
|
14
|
-
|
15
|
-
SemanticLogger::Logger.appenders << SemanticLogger::Appender::File.new('test.log')
|
16
|
-
end
|
13
|
+
SemanticLogger.default_level = :trace
|
14
|
+
SemanticLogger.add_appender('test.log') if SemanticLogger.appenders.size == 0
|
17
15
|
|
18
16
|
# Unit Test for RubyDoozer::Client
|
19
17
|
class CachedRegistryTest < Test::Unit::TestCase
|
data/test/client_test.rb
CHANGED
@@ -10,10 +10,8 @@ require 'ruby_doozer/client'
|
|
10
10
|
# This test assumes that doozerd is running locally on the default port of 8046
|
11
11
|
|
12
12
|
# Register an appender if one is not already registered
|
13
|
-
|
14
|
-
|
15
|
-
SemanticLogger::Logger.appenders << SemanticLogger::Appender::File.new('test.log')
|
16
|
-
end
|
13
|
+
SemanticLogger.default_level = :trace
|
14
|
+
SemanticLogger.add_appender('test.log') if SemanticLogger.appenders.size == 0
|
17
15
|
|
18
16
|
# Unit Test for RubyDoozer::Client
|
19
17
|
class ClientTest < Test::Unit::TestCase
|
@@ -51,6 +49,10 @@ class ClientTest < Test::Unit::TestCase
|
|
51
49
|
assert @client.current_revision >= 0
|
52
50
|
end
|
53
51
|
|
52
|
+
should "return nil when a key is not found" do
|
53
|
+
assert_equal nil, @client['/test/some_bad_key']
|
54
|
+
end
|
55
|
+
|
54
56
|
context "successfully set and get data" do
|
55
57
|
PATHS.each do |path|
|
56
58
|
should "in #{path}" do
|
data/test/registry_test.rb
CHANGED
@@ -10,10 +10,8 @@ require 'ruby_doozer'
|
|
10
10
|
# This test assumes that doozerd is running locally on the default port of 8046
|
11
11
|
|
12
12
|
# Register an appender if one is not already registered
|
13
|
-
|
14
|
-
|
15
|
-
SemanticLogger::Logger.appenders << SemanticLogger::Appender::File.new('test.log')
|
16
|
-
end
|
13
|
+
SemanticLogger.default_level = :trace
|
14
|
+
SemanticLogger.add_appender('test.log') if SemanticLogger.appenders.size == 0
|
17
15
|
|
18
16
|
# Unit Test for RubyDoozer::Client
|
19
17
|
class RegistryTest < Test::Unit::TestCase
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_doozer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Reid Morrison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-04-
|
11
|
+
date: 2013-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: semantic_logger
|
@@ -16,56 +16,70 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '2.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: resilient_socket
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.5.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.5.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: ruby_protobuf
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.4.11
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.4.11
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: gene_pool
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 1.3.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 1.3.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sync_attr
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.0.0
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.0.0
|
69
83
|
description: Ruby Client for doozer
|
70
84
|
email:
|
71
85
|
- reidmo@gmail.com
|