hieracles 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/hieracles/registry.rb +18 -11
- data/spec/lib/registry_spec.rb +19 -24
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b13932e02e3a94c2d72d12c3bb35a08cddc239c1
|
|
4
|
+
data.tar.gz: f32c03c50537af5fa362e43e0eb1226c1c44bd4a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: efed20535c8925465eea69ee04e563b60ed889ebd618f01982c5d6e00734519dbeda24b9148e45cc760c845fc7e16ad345993db2f6ddfa977ac5b75669cd5300
|
|
7
|
+
data.tar.gz: d9294d57191f85635277dc500a308972b169a806ac76d1994a942729c6b0307b9a6d1dff63530aef979f7c7b95b1135df6462ed03c2a78f9fd96f2cc6bce2685
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
Hieracles Changelog
|
|
2
2
|
=======================
|
|
3
3
|
|
|
4
|
+
### 0.3.4 - 2016-02-12
|
|
5
|
+
- add a farms_counted method to registry for a ponderated list of farms
|
|
6
|
+
|
|
4
7
|
### 0.3.3 - 2016-02-11
|
|
5
8
|
- add some convenience methods for usage as a lib
|
|
6
9
|
- add a nodes_data in registry module to get all info for all nodes.
|
data/lib/hieracles/registry.rb
CHANGED
|
@@ -10,17 +10,17 @@ module Hieracles
|
|
|
10
10
|
end
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
def nodes(config)
|
|
14
|
+
Dir.glob(File.join(config.encpath, '*.yaml')).sort.map do |f|
|
|
15
|
+
File.basename(f, '.yaml')
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
def modules(config)
|
|
20
|
+
Dir.glob(File.join(config.modulepath, '*')).sort.map do |f|
|
|
21
|
+
File.basename(f)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
24
|
|
|
25
25
|
def nodes_data(config, env = 'production', reload = false)
|
|
26
26
|
@_nodes_data = {} if reload || !@_nodes_data
|
|
@@ -31,7 +31,14 @@ module Hieracles
|
|
|
31
31
|
end
|
|
32
32
|
end
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
def farms_counted(config, env = 'production')
|
|
35
|
+
Dir.glob(format(config.classpath, '*')).sort.reduce({}) do |a, f|
|
|
36
|
+
sub = Regexp.new(".*#{config.classpath.sub(/%s/,'([^/]*)')}")
|
|
37
|
+
name = f.sub(sub, "\\1")
|
|
38
|
+
a[name] = nodes_data(config, env).select { |k, v| v['farm'] == name }.length
|
|
39
|
+
a
|
|
40
|
+
end
|
|
41
|
+
end
|
|
35
42
|
|
|
36
43
|
end
|
|
37
44
|
end
|
data/spec/lib/registry_spec.rb
CHANGED
|
@@ -2,14 +2,14 @@ require 'spec_helper'
|
|
|
2
2
|
|
|
3
3
|
describe Hieracles::Registry do
|
|
4
4
|
let(:base) { File.expand_path('../../../', __FILE__)}
|
|
5
|
+
let(:options) do
|
|
6
|
+
{
|
|
7
|
+
config: 'spec/files/config.yml',
|
|
8
|
+
basepath: 'spec/files'
|
|
9
|
+
}
|
|
10
|
+
end
|
|
5
11
|
|
|
6
12
|
describe '.farms' do
|
|
7
|
-
let(:options) do
|
|
8
|
-
{
|
|
9
|
-
config: 'spec/files/config.yml',
|
|
10
|
-
basepath: 'spec/files'
|
|
11
|
-
}
|
|
12
|
-
end
|
|
13
13
|
let(:config) { Hieracles::Config.new options }
|
|
14
14
|
let(:expected) { [
|
|
15
15
|
'dev',
|
|
@@ -20,12 +20,6 @@ describe Hieracles::Registry do
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
describe '.nodes' do
|
|
23
|
-
let(:options) do
|
|
24
|
-
{
|
|
25
|
-
config: 'spec/files/config.yml',
|
|
26
|
-
basepath: 'spec/files'
|
|
27
|
-
}
|
|
28
|
-
end
|
|
29
23
|
let(:expected) { [
|
|
30
24
|
'server.example.com',
|
|
31
25
|
'server2.example.com',
|
|
@@ -37,12 +31,6 @@ describe Hieracles::Registry do
|
|
|
37
31
|
end
|
|
38
32
|
|
|
39
33
|
describe '.modules' do
|
|
40
|
-
let(:options) do
|
|
41
|
-
{
|
|
42
|
-
config: 'spec/files/config.yml',
|
|
43
|
-
basepath: 'spec/files'
|
|
44
|
-
}
|
|
45
|
-
end
|
|
46
34
|
let(:expected) { [
|
|
47
35
|
'fake_module',
|
|
48
36
|
'fake_module2',
|
|
@@ -55,12 +43,6 @@ describe Hieracles::Registry do
|
|
|
55
43
|
end
|
|
56
44
|
|
|
57
45
|
describe '.nodes_data' do
|
|
58
|
-
let(:options) do
|
|
59
|
-
{
|
|
60
|
-
config: 'spec/files/config.yml',
|
|
61
|
-
basepath: 'spec/files'
|
|
62
|
-
}
|
|
63
|
-
end
|
|
64
46
|
let(:expected) {
|
|
65
47
|
{
|
|
66
48
|
'server.example.com' => {
|
|
@@ -89,4 +71,17 @@ describe Hieracles::Registry do
|
|
|
89
71
|
it { expect(Hieracles::Registry.nodes_data config).to eq expected }
|
|
90
72
|
end
|
|
91
73
|
|
|
74
|
+
describe '.farms_counted' do
|
|
75
|
+
let(:expected) {
|
|
76
|
+
{
|
|
77
|
+
'dev' => 1,
|
|
78
|
+
'dev2' => 2,
|
|
79
|
+
'dev4' => 0
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
let(:config) { Hieracles::Config.new options }
|
|
83
|
+
it { expect(Hieracles::Registry.farms_counted config).to eq expected }
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
|
|
92
87
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hieracles
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- mose
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-02-
|
|
11
|
+
date: 2016-02-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: httparty
|