percheron 0.2.2 → 0.2.3

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: 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