class Percheron::Validators::Config

Attributes

config_file[R]

Public Class Methods

new(config_file) click to toggle source
# File lib/percheron/validators/config.rb, line 5
def initialize(config_file)
  @config_file = config_file
end

Public Instance Methods

valid?() click to toggle source
# File lib/percheron/validators/config.rb, line 9
def valid?
  message = rules.return { |rule| send(rule) }
  message ? fail(Errors::ConfigFileInvalid, formatted_message(message)) : true
end

Private Instance Methods

config_file_contents() click to toggle source
# File lib/percheron/validators/config.rb, line 30
def config_file_contents
  @config_file_contents ||= Hashie::Mash.new(YAML.load_file(config_file))
end
formatted_message(message) click to toggle source
# File lib/percheron/validators/config.rb, line 18
def formatted_message(message)
  "Config is invalid: #{message}"
end
rules() click to toggle source
# File lib/percheron/validators/config.rb, line 22
def rules
  [
    :validate_config_file_defined,
    :validate_config_file_existence,
    :validate_config_file_not_empty
  ]
end
validate_config_file_defined() click to toggle source
# File lib/percheron/validators/config.rb, line 34
def validate_config_file_defined
  'Is not defined' if config_file.nil?
end
validate_config_file_existence() click to toggle source
# File lib/percheron/validators/config.rb, line 38
def validate_config_file_existence
  'Does not exist' unless config_file.exist?
end
validate_config_file_not_empty() click to toggle source
# File lib/percheron/validators/config.rb, line 42
def validate_config_file_not_empty
  'Is empty' if config_file_contents.empty?
end