Sha256: f4fc07f81970f7ecb97e7d0d267b0c2c9b5c846fe38fb59efe379e9fcd0e4ef4

Contents?: true

Size: 896 Bytes

Versions: 3

Compression:

Stored size: 896 Bytes

Contents

require_relative "includes"
require_relative "repository"
require_relative "../../profile_configuration"

class AwsAssumeRole::Credentials::Factories::AbstractFactory
    include AwsAssumeRole
    include AwsAssumeRole::Credentials::Factories
    include AwsAssumeRole::Logging

    Dry::Types.register_class(Aws::SharedCredentials)
    attr_reader :credentials, :region, :profile, :role_arn

    def initialize(_options)
        raise "Not implemented"
    end

    def self.type(str)
        @type = Types::Strict::Symbol.enum(:credential_provider, :second_factor_provider, :instance_role_provider)[str]
        register_if_complete
    end

    def self.priority(i)
        @priority = Types::Strict::Int[i]
        register_if_complete
    end

    def self.register_if_complete
        return unless @type && @priority
        Repository.register_factory(self, @type, @priority)
    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
aws_assume_role-0.2.2 lib/aws_assume_role/credentials/factories/abstract_factory.rb
aws_assume_role-0.2.0 lib/aws_assume_role/credentials/factories/abstract_factory.rb
aws_assume_role-0.1.2 lib/aws_assume_role/credentials/factories/abstract_factory.rb