ruby_doozer 0.5.0 → 0.6.0
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.
- 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
|