Sha256: 87d6bfe7338c511d127726484a82f965c5ecb317acdadd7ed866f6c55a8ebd88

Contents?: true

Size: 891 Bytes

Versions: 28

Compression:

Stored size: 891 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 if Rails.application.respond_to?(:credentials)
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
pay-2.7.0 lib/pay/env.rb
pay-2.6.11 lib/pay/env.rb
pay-2.6.10 lib/pay/env.rb
pay-2.6.9 lib/pay/env.rb
pay-2.6.8 lib/pay/env.rb
pay-2.6.7 lib/pay/env.rb
pay-2.6.6 lib/pay/env.rb
pay-2.6.5 lib/pay/env.rb
pay-2.6.4 lib/pay/env.rb
pay-2.6.3 lib/pay/env.rb
pay-2.6.2 lib/pay/env.rb
pay-2.6.1 lib/pay/env.rb
pay-2.6.0 lib/pay/env.rb
pay-2.5.0 lib/pay/env.rb
pay-2.4.4 lib/pay/env.rb
pay-2.4.3 lib/pay/env.rb
pay-2.4.2 lib/pay/env.rb
pay-2.4.0 lib/pay/env.rb
pay-2.3.1 lib/pay/env.rb
pay-2.3.0 lib/pay/env.rb