Class: OAS::AdXML

Inherits:
Object
  • Object
show all
Includes:
Utils
Defined in:
lib/oas/adxml.rb

Defined Under Namespace

Modules: Utils Classes: Request, Response

Instance Attribute Summary collapse

Attributes included from Utils

#parser

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Utils

#to_hash, #to_s

Constructor Details

#initialize(doc = nil) ⇒ AdXML

Returns a new instance of AdXML.



60
61
62
63
# File 'lib/oas/adxml.rb', line 60

def initialize(doc = nil)
  @doc = doc
  @doc = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') { |xml| xml.AdXML }.doc if @doc.nil?
end

Instance Attribute Details

#http_headersObject



65
66
67
# File 'lib/oas/adxml.rb', line 65

def http_headers
  @http_headers ||= {}
end

Class Method Details

.parse(str) ⇒ Object



5
6
7
# File 'lib/oas/adxml.rb', line 5

def self.parse(str)
  new Nokogiri.XML(str)
end

Instance Method Details

#each_responseObject



86
87
88
89
90
# File 'lib/oas/adxml.rb', line 86

def each_response
  responses.each do |res|
    yield res
  end
end

#request {|Request.new(@doc.root)| ... } ⇒ Object

Yields:



70
71
72
# File 'lib/oas/adxml.rb', line 70

def request
  yield Request.new(@doc.root)
end

#responseObject



74
75
76
# File 'lib/oas/adxml.rb', line 74

def response
  responses.first
end

#responsesObject



78
79
80
81
82
83
84
# File 'lib/oas/adxml.rb', line 78

def responses
  @responses ||= begin
    res = []
    @doc.xpath('/AdXML/Response').each { |node| res << Response.new(node) }
    res
  end
end