yaml_servers 0.2.9 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2dcf7c38f328d587436aca275b803a341980c82c
4
- data.tar.gz: 639a45e5aca520c10ae4bcce0ff217c1a134f04a
3
+ metadata.gz: 8b52e3f69cbe0d8037f8b8af2167b112aa9c8311
4
+ data.tar.gz: 42fd2a712e5bded522a4876500074db465e296c9
5
5
  SHA512:
6
- metadata.gz: 38affedf0bd2e0b222f97869e0d712d605cb060d1a3e92dff1119df02d0bbce23d987d5d6448c26c0ecace2c17b9e37b32a4da7075d0cf6be07d52941321dd8c
7
- data.tar.gz: 2f214e0e5cafa16bf35b9c973d0699334cb9e1d8ffc7315a2955204823d2c84a99dc970f72e97ebc887ee37998d71a62db96cf98a871a20db1bdff5e219da5b6
6
+ metadata.gz: 839fb34748406b3182f49f3ff74a90252c6104225125b0cfd9dd83f097347c0ae595374f7ae456d8c9bdba13dbb0539f8c149a1fc5e3f2efb1f72bee6fdafc7c
7
+ data.tar.gz: b5631a18ae13a57c16af543cc7bb394a4dd2e918bce60efbc20d1608571e66dd03ac5c217735c8ae406fdb2030c8b6f87e1de1bf6b3c9ad6a82783532c609da0
data/lib/yaml_servers.rb CHANGED
@@ -1,8 +1,7 @@
1
1
  # -*- mode: ruby -*-
2
2
  # vi: set ft=ruby :
3
3
 
4
- require 'active_support'
5
- require 'active_support/core_ext'
4
+ require 'deep_merge'
6
5
  require 'getoptlong'
7
6
  require 'json'
8
7
  require 'resolv'
@@ -6,12 +6,12 @@ module YamlServers
6
6
 
7
7
  def self.apply_defaults(config, defaults)
8
8
  # merge defaults
9
- config = defaults.deep_merge(config)
9
+ config = defaults.deep_merge!(config)
10
10
 
11
11
  # apply defaults to each server
12
12
  servers = {}
13
13
  config["servers"].each { |hostname, server|
14
- servers[hostname] = config["default"].deep_merge(server.is_a?(Hash) ? server : { })
14
+ servers[hostname] = config["default"].dup.deep_merge!(server.is_a?(Hash) ? server : { })
15
15
  servers[hostname]["is_primary"] = (hostname == config["primary"])
16
16
  if servers[hostname].key?("ip") then
17
17
  begin
@@ -75,20 +75,21 @@ module YamlServers
75
75
  config = {}
76
76
  missing_ok = false
77
77
  yaml_configs.each do |yaml|
78
- config = get_yaml(File.join(path, yaml), missing_ok)
78
+ file = Pathname.new(yaml).relative? ? File.join(path, yaml) : yaml
79
+ config = get_yaml(file, missing_ok)
79
80
  missing_ok = true
80
81
 
81
82
  # merge localconf defaults over top of lower precedence defaults
82
- config = config.deep_merge(local_config.reject { |key| key == "servers"} )
83
+ config.deep_merge!(local_config.reject { |key| key == "servers"} )
83
84
 
84
85
  # get servers from config
85
- servers = servers.deep_merge!(apply_defaults(config, defaults))
86
+ servers.deep_merge!(apply_defaults(config, defaults))
86
87
  end
87
88
 
88
89
  # build new config hash with servers collected above and local config applied
89
90
  config = { "servers" => servers, "primary" => config["primary"] }
90
- config = defaults.deep_merge(config)
91
- config = config.deep_merge(local_config)
91
+ config = defaults.dup.deep_merge!(config)
92
+ config.deep_merge!(local_config)
92
93
 
93
94
  # we need at least one server
94
95
  config["servers"] = { "default" => nil } unless config.key?("servers")
@@ -1,3 +1,3 @@
1
1
  module YamlServers
2
- VERSION = "0.2.9"
2
+ VERSION = "0.4.0"
3
3
  end
data/yaml_servers.gemspec CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_runtime_dependency 'activesupport', '~> 4.2', '>= 4.2.6'
20
+ spec.add_runtime_dependency 'deep_merge', '~> 1.2', '>= 1.2.1'
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.10"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
metadata CHANGED
@@ -1,35 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yaml_servers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Brooks
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-21 00:00:00.000000000 Z
11
+ date: 2018-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: activesupport
14
+ name: deep_merge
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.2'
19
+ version: '1.2'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 4.2.6
22
+ version: 1.2.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '4.2'
29
+ version: '1.2'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 4.2.6
32
+ version: 1.2.1
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: bundler
35
35
  requirement: !ruby/object:Gem::Requirement