class Fog::Parsers::Storage::Akamai::Dir

Public Instance Methods

reset() click to toggle source
# File lib/fog/akamai/parsers/storage/dir.rb, line 6
def reset
  @response = { directory: '', files: [], directories: [] }
end
start_element(name, attrs = []) click to toggle source
# File lib/fog/akamai/parsers/storage/dir.rb, line 10
def start_element(name, attrs = [])
  case name
  when 'stat'
    @response[:directory] = attrs.first.value
  when 'file'
    @response[:files] << attrs_to_hash(attrs) if of_type?(attrs, 'file')
    @response[:directories] << attrs_to_hash(attrs) if of_type?(attrs, 'dir')
  end
end

Private Instance Methods

attrs_to_hash(attrs) click to toggle source
# File lib/fog/akamai/parsers/storage/dir.rb, line 26
def attrs_to_hash(attrs)
  attrs.inject({}) { |a, e| a.merge(e.localname => e.value) }
end
of_type?(attrs, type) click to toggle source
# File lib/fog/akamai/parsers/storage/dir.rb, line 22
def of_type?(attrs, type)
  attrs.any? { |attr| attr.localname == 'type' && attr.value == type }
end