a9n 0.3.1 → 0.3.2
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/.ruby-version +1 -1
- data/lib/a9n.rb +2 -2
- data/lib/a9n/loader.rb +1 -1
- data/lib/a9n/version.rb +1 -1
- data/spec/integration/a9n_spec.rb +8 -0
- data/spec/unit/loader_spec.rb +11 -2
- data/test_app/config/a9n/cloud.yml.erb +3 -0
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d73a21b7d21d7f80d8a209937f548c9bb0a05eb
|
4
|
+
data.tar.gz: b7ba978f6d03444194db9a0da1a939d1a865ebfa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0fad65cf52480580df5269c90530b1c767a6a77cd4525dc1e3b66fa0c22148bdc3d5761d067cfac942136892e59e5aeaae2ec84348fc25b1ef30c8dce7efcb83
|
7
|
+
data.tar.gz: 3481c5165d7ac0e7a8b535ec9f9bffb098c6db6059c56a4912e00bdc44767589d3011cf7ebd28bac41837f193fd265d0c873baea34b8796f0e02fa2099985144
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.1.5@a9n
|
data/lib/a9n.rb
CHANGED
@@ -57,11 +57,11 @@ module A9n
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def var_name_for(file)
|
60
|
-
:"@#{File.basename(file.to_s
|
60
|
+
:"@#{File.basename(file.to_s).split('.').first}"
|
61
61
|
end
|
62
62
|
|
63
63
|
def default_files
|
64
|
-
[root.join("config/#{DEFAULT_SCOPE}.yml").to_s] + Dir[root.join("config/a9n/*.yml")]
|
64
|
+
[root.join("config/#{DEFAULT_SCOPE}.yml").to_s] + Dir[root.join("config/a9n/*.{yml,yml.erb}")]
|
65
65
|
end
|
66
66
|
|
67
67
|
def load(*files)
|
data/lib/a9n/loader.rb
CHANGED
@@ -53,7 +53,7 @@ module A9n
|
|
53
53
|
|
54
54
|
private
|
55
55
|
|
56
|
-
def verify!(
|
56
|
+
def verify!(local, example)
|
57
57
|
missing_keys = example.keys - local.keys
|
58
58
|
if missing_keys.any?
|
59
59
|
raise A9n::MissingConfigurationVariables.new("Following variables are missing in #{local_file} file: #{missing_keys.join(",")}")
|
data/lib/a9n/version.rb
CHANGED
@@ -38,4 +38,12 @@ describe A9n do
|
|
38
38
|
expect(subject.mandrill.api_key).to eq("asdf1234")
|
39
39
|
}
|
40
40
|
end
|
41
|
+
|
42
|
+
context "extra config file with erb" do
|
43
|
+
it {
|
44
|
+
expect(subject.cloud).to be_kind_of(A9n::Struct)
|
45
|
+
expect(subject.cloud.username).to eq("testuser")
|
46
|
+
expect(subject.cloud.password).to eq("qwerty")
|
47
|
+
}
|
48
|
+
end
|
41
49
|
end
|
data/spec/unit/loader_spec.rb
CHANGED
@@ -89,10 +89,13 @@ describe A9n::Loader do
|
|
89
89
|
expect(described_class).to receive(:load_yml).with(subject.example_file, env).and_return(example_config)
|
90
90
|
expect(described_class).to receive(:load_yml).with(subject.local_file, env).and_return(local_config)
|
91
91
|
end
|
92
|
-
|
92
|
+
|
93
|
+
let(:missing_variables_names) { example_config.keys - local_config.keys }
|
94
|
+
|
95
|
+
it "raises expection with missing variables names" do
|
93
96
|
expect {
|
94
97
|
subject.load
|
95
|
-
}.to raise_error(A9n::MissingConfigurationVariables)
|
98
|
+
}.to raise_error(A9n::MissingConfigurationVariables, /#{missing_variables_names.join(', ')}/)
|
96
99
|
end
|
97
100
|
end
|
98
101
|
end
|
@@ -120,6 +123,12 @@ describe A9n::Loader do
|
|
120
123
|
ENV["DWARF"] = "erbized dwarf"
|
121
124
|
}
|
122
125
|
|
126
|
+
context 'when file has erb extension' do
|
127
|
+
let(:file_path) { File.join(root, "config/a9n/cloud.yml.erb") }
|
128
|
+
|
129
|
+
it_behaves_like "non-empty config file"
|
130
|
+
end
|
131
|
+
|
123
132
|
context "having env and defaults data" do
|
124
133
|
let(:file_path) { File.join(root, "config/configuration.yml") }
|
125
134
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: a9n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Krzysztof Knapik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: a9n is a tool to keep ruby/rails apps extra configuration easily maintainable
|
14
14
|
and verifiable
|
@@ -18,9 +18,9 @@ executables: []
|
|
18
18
|
extensions: []
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
|
-
- .gitignore
|
22
|
-
- .ruby-version
|
23
|
-
- .travis.yml
|
21
|
+
- ".gitignore"
|
22
|
+
- ".ruby-version"
|
23
|
+
- ".travis.yml"
|
24
24
|
- Gemfile
|
25
25
|
- LICENSE
|
26
26
|
- README.md
|
@@ -37,6 +37,7 @@ files:
|
|
37
37
|
- spec/unit/a9n_spec.rb
|
38
38
|
- spec/unit/loader_spec.rb
|
39
39
|
- spec/unit/struct_spec.rb
|
40
|
+
- test_app/config/a9n/cloud.yml.erb
|
40
41
|
- test_app/config/a9n/mandrill.yml
|
41
42
|
- test_app/config/configuration.yml
|
42
43
|
- test_app/config/configuration.yml.example
|
@@ -51,17 +52,17 @@ require_paths:
|
|
51
52
|
- lib
|
52
53
|
required_ruby_version: !ruby/object:Gem::Requirement
|
53
54
|
requirements:
|
54
|
-
- -
|
55
|
+
- - ">="
|
55
56
|
- !ruby/object:Gem::Version
|
56
57
|
version: '0'
|
57
58
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
59
|
requirements:
|
59
|
-
- -
|
60
|
+
- - ">="
|
60
61
|
- !ruby/object:Gem::Version
|
61
62
|
version: '0'
|
62
63
|
requirements: []
|
63
64
|
rubyforge_project:
|
64
|
-
rubygems_version: 2.
|
65
|
+
rubygems_version: 2.4.3
|
65
66
|
signing_key:
|
66
67
|
specification_version: 4
|
67
68
|
summary: a9n is a tool to keep ruby/rails apps extra configuration easily maintainable
|