class PagSeguro::Authorization::ResponseSerializer

Attributes

xml[R]

Public Class Methods

new(xml) click to toggle source
# File lib/pagseguro/authorization/response_serializer.rb, line 5
def initialize(xml)
  @xml = xml
end

Public Instance Methods

serialize() click to toggle source
# File lib/pagseguro/authorization/response_serializer.rb, line 9
def serialize
  {}.tap do |data|
    serialize_general(data)
    serialize_permissions(data)
  end
end

Private Instance Methods

serialize_general(data) click to toggle source
# File lib/pagseguro/authorization/response_serializer.rb, line 17
def serialize_general(data)
  data[:code] = xml.css("> code").text
  data[:reference] = xml.css("reference").text
  data[:created_at] = Time.parse xml.css("creationDate").text
end
serialize_permissions(data) click to toggle source
# File lib/pagseguro/authorization/response_serializer.rb, line 23
def serialize_permissions(data)
  data[:permissions] = []

  xml.css("permission").each do |node|
    permission = PagSeguro::Permission.new
    permission.code = node.css("code").text
    permission.status = node.css("status").text
    permission.last_update = node.css("lastUpdate").text

    data[:permissions] << permission
  end
end