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 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