percheron 0.2.2 → 0.2.3

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: 7864a1fc9b27417829cd3a42124c9b1940e02131
4
- data.tar.gz: 628242dd1c60cf4a398d8d57300495a6a38b5a2b
3
+ metadata.gz: f46c7382608bc1a9d0df8f0cfb476fdd3db6d168
4
+ data.tar.gz: 80f069209a8756e8e8ffd7ad5e9306439258d75e
5
5
  SHA512:
6
- metadata.gz: 6d5520219f1f55f8217472d8b5b321dac21823c7174f248a7f2a0eeeb44652731a4ac488d72345ced4a11fc617ce9ceda9611ec5750acc02cdecee5f0ea0a4e5
7
- data.tar.gz: 642a061e6c746e8db5eeca4d8a22b0faa921c796f793366fc6f6883363e8da3f8c041acaef7d3c32a9d76838b46051b7f95f7e2f09c9be2701d9fad01ca7c019
6
+ metadata.gz: 0994145a901b28e2cc993b3659128ff69e12e8253e0598b0f79a604bb64dde23a6ae19fa2ff96c35bf2442b883de6c2c22b6b4e96d90ebd43aa15fccd4c7263f
7
+ data.tar.gz: 686b119e1190e27e7cbf7cf96e1785eb5c4d0f941cb1816135b4cb49a13d374a5813d6096d757f6f744567351a2f65b8bcc683b2c8f49e2ce52da2f5d77ebc61
@@ -2,17 +2,24 @@ module Percheron
2
2
  module CLI
3
3
  class AbstractCommand < Clamp::Command
4
4
 
5
- option [ '-c', '--config_file' ], 'CONFIG', 'Configuration file', default: '.percheron.yml'
5
+ DEFAULT_CONFIG_FILE = '.percheron.yml'
6
+
7
+ option [ '-c', '--config_file' ], 'CONFIG', 'Configuration file', default: DEFAULT_CONFIG_FILE
6
8
 
7
9
  option '--version', :flag, 'show version' do
8
10
  puts Percheron::VERSION
9
11
  exit(0)
10
12
  end
11
13
 
14
+ def default_config_file
15
+ ENV.fetch('PERCHERON_CONFIG', DEFAULT_CONFIG_FILE)
16
+ end
17
+
12
18
  def config
13
19
  @config ||= Percheron::Config.new(config_file)
14
20
  rescue Errors::ConfigFileInvalid => e
15
- $logger.error "An error has occurred while reading your config file - #{e.message}"
21
+ $logger.error e.message
22
+ exit(1)
16
23
  end
17
24
  end
18
25
  end
@@ -22,6 +22,7 @@ module Percheron
22
22
 
23
23
  def rules
24
24
  [
25
+ :validate_config_file_defined,
25
26
  :validate_config_file_existence,
26
27
  :validate_config_file_not_empty,
27
28
  :validate_config_file_contents
@@ -32,16 +33,24 @@ module Percheron
32
33
  @config_file_contents ||= Hashie::Mash.new(YAML.load_file(config_file))
33
34
  end
34
35
 
36
+ def validate_config_file_defined
37
+ 'Config file is not defined' if config_file.nil?
38
+ end
39
+
35
40
  def validate_config_file_existence
36
- 'Config file does not exist' unless config_file.exist?
41
+ "#{base_message} does not exist" unless config_file.exist?
37
42
  end
38
43
 
39
44
  def validate_config_file_not_empty
40
- 'Config file is empty' if config_file_contents.empty?
45
+ "#{base_message} is empty" if config_file_contents.empty?
41
46
  end
42
47
 
43
48
  def validate_config_file_contents
44
- 'Config file is invalid' unless config_file_contents.docker
49
+ "#{base_message} is invalid" unless config_file_contents.docker
50
+ end
51
+
52
+ def base_message
53
+ "Config file '#{config_file}'"
45
54
  end
46
55
  end
47
56
  end
@@ -1,3 +1,3 @@
1
1
  module Percheron
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: percheron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ash McKenzie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-28 00:00:00.000000000 Z
11
+ date: 2015-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp