Sha256: c7290339ff48c1b24b282bd17f2bfeb0c6fac77735b025fb2c09ff122503292d
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
require_relative "includes" require_relative "abstract_factory" class AwsAssumeRole::Credentials::Factories::Repository include AwsAssumeRole::Credentials::Factories SubFactoryRepositoryType = Types::Hash.schema(Types::Coercible::Int => Types::Strict::Array) FactoryRepositoryType = Types::Hash.schema( credential_provider: SubFactoryRepositoryType, second_factor_provider: SubFactoryRepositoryType, role_assumption_provider: SubFactoryRepositoryType, ) def self.factories repository.keys.map { |t| [t, flatten_factory_type_list(t)] }.to_h end def self.repository @repository ||= FactoryRepositoryType[ credential_provider: {}, second_factor_provider: {}, role_assumption_provider: {}, ] end def self.register_factory(klass, type, priority) repository[type][priority] ||= [] repository[type][priority] << klass end def self.flatten_factory_type_list(type) repository[type].keys.sort.map { |x| @repository[type][x] }.flatten end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
aws_assume_role-0.1.1 | lib/aws_assume_role/credentials/factories/repository.rb |
aws_assume_role-0.1.0 | lib/aws_assume_role/credentials/factories/repository.rb |