Class: Facebooker::FqlMultiquery

Inherits:
Parser
  • Object
show all
Defined in:
lib/facebooker/parser.rb

Overview

nodoc

Constant Summary

Constants inherited from Parser

Parser::PARSERS

Class Method Summary collapse

Methods inherited from Parser

anonymous_field_from, array_of, array_of_hashes, array_of_text_values, booleanize, element, hash_or_value_for, hashinate, parse

Class Method Details

.process(data) ⇒ Object



414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
# File 'lib/facebooker/parser.rb', line 414

def self.process(data)
  root = element('fql_multiquery_response', data)
  root.children.reject { |child| child.text? }.map do |elm|
    elm.children.reject { |child| child.text? }.map do |query|
      if 'name' == query.name
        query.text
      else
        list = query.children.reject { |child| child.text? }
        if list.length == 0
          []
        else
          [list.first.name, array_of_hashes(query, list.first.name)]
        end
      end
    end
  end
end