Sha256: e6c5048b04e79d680036af0b3bf1b93c727780c5e21924aca386ba360a963a69

Contents?: true

Size: 841 Bytes

Versions: 7

Compression:

Stored size: 841 Bytes

Contents

module Pay
  module Env

    private

    # Search for environment variables
    #
    # We must handle a lot of different cases, including the new Rails 6
    # environment separated credentials files which have no nesting for
    # the current environment.
    #
    # 1. Check environment variable
    # 2. Check environment scoped credentials, then secrets
    # 3. Check unscoped credentials, then secrets
    def find_value_by_name(scope, name)
      ENV["#{scope.upcase}_#{name.upcase}"] ||
        credentials.dig(env, scope, name) ||
        secrets.dig(env, scope, name) ||
        credentials.dig(scope, name) ||
        secrets.dig(scope, name)
    end

    def env
      Rails.env.to_sym
    end

    def secrets
      Rails.application.secrets
    end

    def credentials
      Rails.application.credentials
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pay-1.0.2 lib/pay/env.rb
pay-1.0.1 lib/pay/env.rb
pay-1.0.0 lib/pay/env.rb
pay-1.0.0.rc3 lib/pay/env.rb
pay-1.0.0.rc2 lib/pay/env.rb
pay-1.0.0.rc1 lib/pay/env.rb
pay-1.0.0.beta5 lib/pay/env.rb