dalli-elasticache 0.1.2 → 0.2.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 +5 -13
- data/README.md +3 -3
- data/Rakefile +1 -0
- data/lib/dalli/elasticache.rb +2 -1
- data/lib/dalli/elasticache/version.rb +1 -1
- data/spec/elasticache_spec.rb +9 -2
- metadata +20 -19
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NjY5MTAyMTY5NzVjMTQwMGVlMjE2ZWY3ODI2ODdmMDQ0ZWUyOGZkMQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3223c4e9eb1fd636a8841a415905203022f03276
|
4
|
+
data.tar.gz: b853a9d5674e3d4335cd8b6046f3dfa3eba5ef0f
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
YmU1ZTIwOWU3YjkyNGY1YzViZTY5Mzc1Y2M3YWI2OTRlOGJjZmViOTdkMGY4
|
11
|
-
NTczZTQ3MjA3YzRmZDA4NDFlYzliYTAzMjJjNGNhNDI2YjNkM2M=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NGI3NTU1MGE2NDAxM2RjYjQyNGViMjRhNGQzYTRkMDBjZDAxYjU4MDM3ODVl
|
14
|
-
NTg0YTI0ZmJjNDIwYjIyN2M2ODZkMGJlYTk2YzNmM2RmYTE4NzdhNGMyMTI3
|
15
|
-
YjEyY2U1YmQyNmYwMDhjYjhkYWFjYWQ5NWUxMjA3NDc4NDI2OGQ=
|
6
|
+
metadata.gz: aa250e3c5c9aa4e55434c7d05b76deaea939735414dafac2cd5b2a3dbf42b46042c7931420f872e837a79384394f15a1f1e48f32d9d44eca529f4896e6fc9063
|
7
|
+
data.tar.gz: 627f5c1718932bcbfd7cd661a8c03b55e1ccbb714478598ffffcb28e247f07b503a2e3208f3c90b3778a2a62bbf9496f5ae884f5e470a702f9cd6451d22ddefb
|
data/README.md
CHANGED
@@ -51,11 +51,11 @@ Fetch information about the Memcached nodes:
|
|
51
51
|
```ruby
|
52
52
|
# Dalli::Client with configuration from the AutoDiscovery endpoint
|
53
53
|
elasticache.client
|
54
|
-
# => #<Dalli::Client ... @servers=["
|
54
|
+
# => #<Dalli::Client ... @servers=["aaron-scratch.vfdnac.0001.use1.cache.amazonaws.com:11211", ...]>
|
55
55
|
|
56
|
-
# Node
|
56
|
+
# Node addresses
|
57
57
|
elasticache.servers
|
58
|
-
# => ["
|
58
|
+
# => ["aaron-scratch.vfdnac.0001.use1.cache.amazonaws.com:11211", "aaron-scratch.vfdnac.0002.use1.cache.amazonaws.com:11211"]
|
59
59
|
|
60
60
|
# Number of times the cluster configuration has changed
|
61
61
|
elasticache.version
|
data/Rakefile
CHANGED
data/lib/dalli/elasticache.rb
CHANGED
@@ -32,8 +32,9 @@ module Dalli
|
|
32
32
|
end
|
33
33
|
|
34
34
|
# List of cluster server nodes with ip addresses and ports
|
35
|
+
# Always use host name instead of private elasticache IPs as internal IPs can change after a node is rebooted
|
35
36
|
def servers
|
36
|
-
endpoint.config.nodes.map{ |h| "#{h[:
|
37
|
+
endpoint.config.nodes.map{ |h| "#{h[:host]}:#{h[:port]}" }
|
37
38
|
end
|
38
39
|
|
39
40
|
# Clear all cached data from the cluster endpoint
|
data/spec/elasticache_spec.rb
CHANGED
@@ -9,7 +9,10 @@ describe 'Dalli::ElastiCache::Endpoint' do
|
|
9
9
|
}
|
10
10
|
Dalli::ElastiCache.new("my-cluster.cfg.use1.cache.amazonaws.com:11211", options)
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
|
+
let(:config_text) { "CONFIG cluster 0 141\r\n12\nmycluster.0001.cache.amazonaws.com|10.112.21.1|11211 mycluster.0002.cache.amazonaws.com|10.112.21.2|11211 mycluster.0003.cache.amazonaws.com|10.112.21.3|11211\n\r\n" }
|
14
|
+
let(:response) { Dalli::Elasticache::AutoDiscovery::ConfigResponse.new(config_text) }
|
15
|
+
|
13
16
|
describe '.new' do
|
14
17
|
it 'builds endpoint' do
|
15
18
|
cache.endpoint.host.should == "my-cluster.cfg.use1.cache.amazonaws.com"
|
@@ -29,7 +32,11 @@ describe 'Dalli::ElastiCache::Endpoint' do
|
|
29
32
|
end
|
30
33
|
|
31
34
|
describe '#servers' do
|
32
|
-
|
35
|
+
before { Dalli::Elasticache::AutoDiscovery::Endpoint.any_instance.should_receive(:get_config_from_remote).and_return(response) }
|
36
|
+
|
37
|
+
it 'lists addresses and ports' do
|
38
|
+
cache.servers.should == ["mycluster.0001.cache.amazonaws.com:11211", "mycluster.0002.cache.amazonaws.com:11211", "mycluster.0003.cache.amazonaws.com:11211"]
|
39
|
+
end
|
33
40
|
end
|
34
41
|
|
35
42
|
describe '#version' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dalli-elasticache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Suggs
|
@@ -9,53 +9,54 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-02-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '0'
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - ">="
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '0'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rspec
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: dalli
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: 1.0.0
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: 1.0.0
|
56
|
-
description:
|
57
|
-
|
58
|
-
|
56
|
+
description: |2
|
57
|
+
This gem provides an interface for fetching cluster information from an AWS
|
58
|
+
ElastiCache AutoDiscovery server and configuring a Dalli client to connect
|
59
|
+
to all nodes in the cache cluster.
|
59
60
|
email:
|
60
61
|
- aaron@ktheory.com
|
61
62
|
- zach@magoosh.com
|
@@ -63,14 +64,14 @@ executables: []
|
|
63
64
|
extensions: []
|
64
65
|
extra_rdoc_files: []
|
65
66
|
files:
|
67
|
+
- README.md
|
68
|
+
- Rakefile
|
69
|
+
- lib/dalli-elasticache.rb
|
70
|
+
- lib/dalli/elasticache.rb
|
66
71
|
- lib/dalli/elasticache/auto_discovery/config_response.rb
|
67
72
|
- lib/dalli/elasticache/auto_discovery/endpoint.rb
|
68
73
|
- lib/dalli/elasticache/auto_discovery/stats_response.rb
|
69
74
|
- lib/dalli/elasticache/version.rb
|
70
|
-
- lib/dalli/elasticache.rb
|
71
|
-
- lib/dalli-elasticache.rb
|
72
|
-
- README.md
|
73
|
-
- Rakefile
|
74
75
|
- spec/config_response_spec.rb
|
75
76
|
- spec/elasticache_spec.rb
|
76
77
|
- spec/endpoint_spec.rb
|
@@ -82,22 +83,22 @@ licenses:
|
|
82
83
|
metadata: {}
|
83
84
|
post_install_message:
|
84
85
|
rdoc_options:
|
85
|
-
- --charset=UTF-8
|
86
|
+
- "--charset=UTF-8"
|
86
87
|
require_paths:
|
87
88
|
- lib
|
88
89
|
required_ruby_version: !ruby/object:Gem::Requirement
|
89
90
|
requirements:
|
90
|
-
- -
|
91
|
+
- - ">="
|
91
92
|
- !ruby/object:Gem::Version
|
92
93
|
version: 1.9.2
|
93
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
95
|
requirements:
|
95
|
-
- -
|
96
|
+
- - ">="
|
96
97
|
- !ruby/object:Gem::Version
|
97
98
|
version: 1.3.5
|
98
99
|
requirements: []
|
99
100
|
rubyforge_project:
|
100
|
-
rubygems_version: 2.
|
101
|
+
rubygems_version: 2.5.2
|
101
102
|
signing_key:
|
102
103
|
specification_version: 4
|
103
104
|
summary: Configure Dalli clients with ElastiCache's AutoDiscovery
|