class AWSConfig::ProfileResolver
Attributes
profiles[R]
wanted_profiles[R]
Public Class Methods
new()
click to toggle source
# File lib/aws_config/profile_resolver.rb, line 7 def initialize @profiles = {} @wanted_profiles = {} end
Public Instance Methods
add(profs)
click to toggle source
# File lib/aws_config/profile_resolver.rb, line 12 def add(profs) profs.each do |name, profile| if profiles.key? name profiles[name].merge! profile else profiles[name] = profile end resolve_source_profile(name, profile) if profile.has_key? "source_profile" provides_source_profile(name, profile) end end
Private Instance Methods
provides_source_profile(name, profile)
click to toggle source
# File lib/aws_config/profile_resolver.rb, line 35 def provides_source_profile(name, profile) return unless wanted_profiles.key? name wanted_profiles[name].each do |wanted_by| profiles[wanted_by]["source_profile"] = profile end wanted_profiles.delete name end
resolve_source_profile(name, profile)
click to toggle source
# File lib/aws_config/profile_resolver.rb, line 26 def resolve_source_profile(name, profile) source_profile = profile.source_profile if profiles.key? source_profile profile["source_profile"] = profiles[source_profile] else (wanted_profiles[source_profile] ||= []) << name end end