configuration_manager 0.2.0 → 0.2.1
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/lib/configuration_manager/version.rb +1 -1
- data/lib/configuration_manager.rb +19 -5
- metadata +13 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4cfe3eee60ccfaac66522d3c9b4375aa394b239d
|
4
|
+
data.tar.gz: cd9ed91e55160f76c9eadd6913dbf30f88cf30dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 876c42b3a0adb9bdef2cab6f4dcc157875523f353a4a17eaa18e7a4da725ae76ad2ad7e0b9941eb7fe8acd32d14d68f376b012268792177b69776b5007968795
|
7
|
+
data.tar.gz: ba4fb48a5563a93481c2c43e2c8ec65660aa8218412463eee22cba124b3438cc1778afc7b63124a37b7df586a62f12358a7ec4d9565535059b27fcfc0a6e0468
|
@@ -16,22 +16,22 @@ module ConfigurationManager
|
|
16
16
|
current = YAML.load_file("#{Rails.root}/config/application.yml")
|
17
17
|
generated = Merger.config(AppConfig.current_theme)
|
18
18
|
|
19
|
-
|
19
|
+
differences = differing_configs(current, generated)
|
20
20
|
|
21
|
-
if
|
21
|
+
if differences.any? && !AppConfig['allow_custom_configuration']
|
22
22
|
raise "Current application.yml does not match the default for #{AppConfig.current_theme}. " +
|
23
23
|
"Either run `rake config:update` or set allow_custom_configuration to true" +
|
24
|
-
" in your application.yml."
|
24
|
+
" in your application.yml. Differences: #{differences}"
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
28
|
private
|
29
29
|
|
30
|
-
def
|
30
|
+
def differing_configs(one, two)
|
31
31
|
relevant_configs_one = relevant_configs(one)
|
32
32
|
relevant_configs_two = relevant_configs(two)
|
33
33
|
|
34
|
-
relevant_configs_one
|
34
|
+
deep_diff(relevant_configs_one, relevant_configs_two)
|
35
35
|
end
|
36
36
|
|
37
37
|
def relevant_configs(data)
|
@@ -45,4 +45,18 @@ module ConfigurationManager
|
|
45
45
|
|
46
46
|
data
|
47
47
|
end
|
48
|
+
|
49
|
+
# https://gist.github.com/henrik/146844, modified to not use monkey patching
|
50
|
+
def deep_diff(a, b)
|
51
|
+
(a.keys | b.keys).inject({}) do |diff, k|
|
52
|
+
if a[k] != b[k]
|
53
|
+
if a[k].is_a?(Hash) && b[k].is_a?(Hash)
|
54
|
+
diff[k] = deep_diff(a[k], b[k])
|
55
|
+
else
|
56
|
+
diff[k] = [a[k], b[k]]
|
57
|
+
end
|
58
|
+
end
|
59
|
+
diff
|
60
|
+
end
|
61
|
+
end
|
48
62
|
end
|
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: configuration_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bruz Marzolf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.3'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
description: Manage development configurations for themed apps
|
@@ -59,7 +59,7 @@ executables: []
|
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
-
- .gitignore
|
62
|
+
- ".gitignore"
|
63
63
|
- Gemfile
|
64
64
|
- LICENSE.txt
|
65
65
|
- README.md
|
@@ -81,18 +81,19 @@ require_paths:
|
|
81
81
|
- lib
|
82
82
|
required_ruby_version: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
|
-
- -
|
84
|
+
- - ">="
|
85
85
|
- !ruby/object:Gem::Version
|
86
86
|
version: '0'
|
87
87
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
|
-
- -
|
89
|
+
- - ">="
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: '0'
|
92
92
|
requirements: []
|
93
93
|
rubyforge_project:
|
94
|
-
rubygems_version: 2.
|
94
|
+
rubygems_version: 2.4.3
|
95
95
|
signing_key:
|
96
96
|
specification_version: 4
|
97
97
|
summary: Themed app configuration management
|
98
98
|
test_files: []
|
99
|
+
has_rdoc:
|