class AWSConfig::Profile

Attributes

entries[R]
name[R]

Public Class Methods

new(name, entries) click to toggle source
# File lib/aws_config/profile.rb, line 5
def initialize(name, entries)
  @name    = name.to_s
  @entries = entries
end

Public Instance Methods

[](key) click to toggle source
# File lib/aws_config/profile.rb, line 10
def [](key)
  key = key.to_s
  if entries.has_key?(key)
    entries[key]
  elsif source_profile?
    entries["source_profile"][key]
  else
    nil
  end
end
[]=(key, value) click to toggle source
# File lib/aws_config/profile.rb, line 21
def []=(key, value)
  key = key.to_s
  entries[key] = value
end
config_hash() click to toggle source
# File lib/aws_config/profile.rb, line 53
def config_hash
  {
    access_key_id:      self["aws_access_key_id"],
    secret_access_key:  self["aws_secret_access_key"],
    region:             self["region"]
  }
end
has_key?(key) click to toggle source
# File lib/aws_config/profile.rb, line 26
def has_key?(key)
  key = key.to_s
  entries.has_key?(key)
end
merge!(other) click to toggle source
# File lib/aws_config/profile.rb, line 61
def merge!(other)
  @entries = Parser.from_hash(entries.merge(other.entries))
  self
end
method_missing(id, *args) click to toggle source
Calls superclass method
# File lib/aws_config/profile.rb, line 39
def method_missing(id, *args)
  if has_key?(id)
    self[id]
  elsif source_profile?
    if entries["source_profile"].respond_to?(id)
      entries["source_profile"].send(id, args)
    else
      super
    end
  else
    super
  end
end
respond_to?(id, include_all = false) click to toggle source
Calls superclass method
# File lib/aws_config/profile.rb, line 35
def respond_to?(id, include_all = false)
  has_key?(id) || super
end
source_profile?() click to toggle source
# File lib/aws_config/profile.rb, line 31
def source_profile?
  entries.key?("source_profile") && entries["source_profile"].is_a?(Profile)
end