hieracles 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 44c29a8927b67e49372692e6b01dbc470d501934
4
- data.tar.gz: 0d951af952efeaeae73dbe43dc22a93b6c1efb71
3
+ metadata.gz: b13932e02e3a94c2d72d12c3bb35a08cddc239c1
4
+ data.tar.gz: f32c03c50537af5fa362e43e0eb1226c1c44bd4a
5
5
  SHA512:
6
- metadata.gz: e8cf4e3b7cd75be578b054e4eaeb3f304d5335bf1300a417836574b04fb3437c31eab7c3f0002ed13f446b9bc1ca86d99f831990345f5d9e9f3d970cbd19c4a5
7
- data.tar.gz: c79542cdc9cd45d562a32ecc30b40ebcdee791f9c94e469855fa1d47dec5cac8dabc0761aca34924a15b987f36aed62851ce1c72cacc8b7319feb0551560979f
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.
@@ -10,17 +10,17 @@ module Hieracles
10
10
  end
11
11
  end
12
12
 
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
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
- def modules(config)
20
- Dir.glob(File.join(config.modulepath, '*')).sort.map do |f|
21
- File.basename(f)
22
- end
23
- end
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
@@ -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.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 00:00:00.000000000 Z
11
+ date: 2016-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty