class Qyu::Store::ActiveRecord::ConfigurationValidator

Constants

REQUIRED_ATTRIBUTES

Attributes

errors[R]

Public Class Methods

new(config) click to toggle source
# File lib/qyu/store/activerecord/configuration_validator.rb, line 9
def initialize(config)
  @config = config
  @errors = []
end

Public Instance Methods

valid?() click to toggle source
# File lib/qyu/store/activerecord/configuration_validator.rb, line 14
def valid?
  validate
  errors.empty?
end
validate() click to toggle source
# File lib/qyu/store/activerecord/configuration_validator.rb, line 19
def validate
  REQUIRED_ATTRIBUTES.each do |attribute|
    next if @config[attribute].present?

    @errors << "#{attribute} must be present."
  end

  validate_database_adapter
end

Private Instance Methods

validate_database_adapter() click to toggle source
# File lib/qyu/store/activerecord/configuration_validator.rb, line 31
def validate_database_adapter
  sample_config = { 'test' => { adapter: @config[:db_type] } }

  ::ActiveRecord::ConnectionAdapters::ConnectionSpecification::Resolver.new(sample_config).spec(:test)
rescue LoadError => ex
  @errors << ex.message
end