Class: YahooWebAPI::Client
- Inherits:
-
Object
- Object
- YahooWebAPI::Client
show all
- Defined in:
- lib/yahoo_web_api/client.rb
Class Method Summary
collapse
Class Method Details
.make_response_object(doc) ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/yahoo_web_api/client.rb', line 18
def make_response_object(doc)
obj = Object.new
klass = (class << obj; self; end)
doc.elements.each do |elem|
method_name = elem.name.gsub(/([a-z])([A-Z])/) {
$1 + '_' + $2
}.downcase
if elem.elements.empty?
respond = elem.inner_text.gsub!(/^\s*/m) {''}
respond.gsub!(/\s*$/m) {''}
else
respond = make_response_object(elem)
end
klass.__send__(:define_method, method_name) { respond }
end
obj
end
|
.parse(doc, selector) ⇒ Object
9
10
11
12
13
14
15
16
|
# File 'lib/yahoo_web_api/client.rb', line 9
def parse(doc, selector)
results = []
xml_doc = Nokogiri::XML(doc)
xml_doc.css(selector).each do |doc|
results << make_response_object(doc)
end
results
end
|