configuration_manager 0.2.0 → 0.2.1

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: e58571651ad2b507c43f085876783f1a6c5b7aee
4
- data.tar.gz: c46ce375821dc0254bfe8b8e2d06326ebb258549
3
+ metadata.gz: 4cfe3eee60ccfaac66522d3c9b4375aa394b239d
4
+ data.tar.gz: cd9ed91e55160f76c9eadd6913dbf30f88cf30dd
5
5
  SHA512:
6
- metadata.gz: cf0f54e581a31ba62c535eb7bd40a37e85a6a60338a0fc2f19d019bcf79bbec7fce3c4577ec3f5e7249f2817a8fb5b18c7ca56840612035a245735e8746925a1
7
- data.tar.gz: 23c31c0f23d5a5334d799e037cdf31efbc1729bf7b7f3fe8b89b5370ac79a777489885d91b5ab6a3e19982f702921e624a29ce8bcd6f6b4be58d1e83f19919a3
6
+ metadata.gz: 876c42b3a0adb9bdef2cab6f4dcc157875523f353a4a17eaa18e7a4da725ae76ad2ad7e0b9941eb7fe8acd32d14d68f376b012268792177b69776b5007968795
7
+ data.tar.gz: ba4fb48a5563a93481c2c43e2c8ec65660aa8218412463eee22cba124b3438cc1778afc7b63124a37b7df586a62f12358a7ec4d9565535059b27fcfc0a6e0468
@@ -1,3 +1,3 @@
1
1
  module ConfigurationManager
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -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
- different = configs_different? current, generated
19
+ differences = differing_configs(current, generated)
20
20
 
21
- if different && !AppConfig['allow_custom_configuration']
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 configs_different?(one, two)
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 != relevant_configs_two
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.0
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: 2014-03-18 00:00:00.000000000 Z
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.2.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: