class Fog::AWS::Parsers::Lambda::Base

Public Instance Methods

process(body) click to toggle source
# File lib/fog/aws/parsers/lambda/base.rb, line 6
def process(body)
  body.inject({}) { |h, (k, v)| h[k] = rules(k, v); h }
end

Private Instance Methods

rules(key, value) click to toggle source
# File lib/fog/aws/parsers/lambda/base.rb, line 12
def rules(key, value)
  case value
  when Hash
    process(value)
  when Array
    value.map { |i| process(i) }
  else
    case key
    when 'LastModified'
      Time.parse(value)
    when 'Policy', 'Statement'
      begin
        Fog::JSON.decode(value)
      rescue Fog::JSON::DecodeError => e
        Fog::Logger.warning("Error parsing response json - #{e}")
        {}
      end
    else
      value
    end
  end
end