Sha256: e505db304e2b2363a8eef5db61f431a7b861f849a66c58c7509ef9924e8b675c

Contents?: true

Size: 660 Bytes

Versions: 1

Compression:

Stored size: 660 Bytes

Contents

module Qyu
  module Store
    module Redis
      # Qyu::Store::Redis::ConfigurationValidator
      class ConfigurationValidator
        REQUIRED_ATTRIBUTES = %i[host port].freeze

        attr_reader :errors

        def initialize(config)
          @config = config
          @errors = []
        end

        def valid?
          validate
          errors.empty?
        end

        def validate
          unless @config[:url]
            REQUIRED_ATTRIBUTES.each do |attribute|
              next unless @config[attribute].nil?

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
qyu-store-redis-0.1.0 lib/qyu/store/redis/configuration_validator.rb