class Fog::Parsers::AWS::IAM::PolicyParser

Public Instance Methods

end_element(name) click to toggle source
# File lib/fog/aws/parsers/iam/policy_parser.rb, line 29
def end_element(name)
  case name
  when 'Arn', 'DefaultVersionId', 'Description', 'Path', 'PolicyName', 'PolicyId'
    @policy[name] = value
  when 'CreateDate', 'UpdateDate'
    @policy[name] = Time.parse(value)
  when 'IsAttachable'
    @policy[name] = (value == 'true')
  when 'AttachmentCount'
    @policy[name] = value.to_i
  when 'Policy'
    finished_policy(@policy)
    @policy = nil
  when 'Policies'
    if @stack.last == 'Policies'
      @stack.pop
    end
  when 'member'
    if @stack.last == 'Policies'
      finished_policy(@policy)
      @policy = nil
    end
  end
end
fresh_policy() click to toggle source
# File lib/fog/aws/parsers/iam/policy_parser.rb, line 25
def fresh_policy
  {'AttachmentCount' => 0, 'Description' => ''}
end
reset() click to toggle source
# File lib/fog/aws/parsers/iam/policy_parser.rb, line 6
def reset
  @policy = fresh_policy
  @stack = []
end
start_element(name,attrs = []) click to toggle source
Calls superclass method
# File lib/fog/aws/parsers/iam/policy_parser.rb, line 11
def start_element(name,attrs = [])
  case name
  when 'Policies'
    @stack << name
  when 'Policy'
    @policy = fresh_policy
  when 'member'
    if @stack.last == 'Policies'
      @policy = fresh_policy
    end
  end
  super
end