Sha256: f860f3cc21b4d63bcb30ac6bed66acb8d54037fbecdd1bacd57cf74e01817370

Contents?: true

Size: 1.21 KB

Versions: 6

Compression:

Stored size: 1.21 KB

Contents

require 'xing/nominal/yaml_config_validator'

module Xing
  module Nominal
    class SecretsValidator < YamlConfigValidator
      SECRETS_FILE = 'config/secrets.yml'
      COMMON_SECRETS_VALIDATION = {
        'secret_key_base' => 'string',
        'smtp' => {
          'address'   => 'string',
          'port'      => 'integer',
          'domain'    => 'string',
          'user_name' => 'string',
          'password'  => 'string'
        },
        'email' => {
          'from'        => 'email',
          'reply_to'    => 'email',
          'from_domain' => 'string'
        },
        'snapshot_server' => {
          'url'       => 'string',
          'user'      => 'string',
          'password'  => 'string'
        },
        'sitemap_base_url' => 'string'
      }

      # Development needs the additional email key 'test'
      DEV_SECRETS_VALIDATION = COMMON_SECRETS_VALIDATION.deep_merge(
        'email' => {
          'test' => 'email'
        }
      )

      def rules(environment)
        case environment
        when 'development'
          DEV_SECRETS_VALIDATION
        else
          COMMON_SECRETS_VALIDATION
        end
      end

      def file_under_test
        SECRETS_FILE
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
xing-backend-1.0.0.pre.beta lib/xing/nominal/secrets_validator.rb
xing-backend-0.0.25 lib/xing/nominal/secrets_validator.rb
xing-backend-0.0.23 lib/xing/nominal/secrets_validator.rb
xing-backend-0.0.22 lib/xing/nominal/secrets_validator.rb
xing-backend-0.0.21 lib/xing/nominal/secrets_validator.rb
xing-backend-0.0.20 lib/xing/nominal/secrets_validator.rb