Class | Amazon::Element |
In: |
lib/amazon/ecs.rb
|
Parent: | Object |
Internal wrapper class to provide convenient method to access Hpricot element value.
Similar to get_array, except an element object must be passed-in.
# File lib/amazon/ecs.rb, line 348 def self.get_array(element, path='') return unless element result = element/path if (result.is_a? Hpricot::Elements) || (result.is_a? Array) parsed_result = [] result.each {|item| parsed_result << Element.get(item) } parsed_result else [Element.get(result)] end end
Similar to get_hash, except an element object must be passed-in.
# File lib/amazon/ecs.rb, line 364 def self.get_hash(element, path='') return unless element result = element.at(path) if result hash = {} result = result.children result.each do |item| hash[item.name.to_sym] = item.inner_html end hash end end
Similar to get_unescaped, except an element object must be passed-in.
# File lib/amazon/ecs.rb, line 342 def self.get_unescaped(element, path='') result = get(element, path) CGI::unescapeHTML(result) if result end
Pass Hpricot::Elements object
# File lib/amazon/ecs.rb, line 269 def initialize(element) @element = element end
Find Hpricot::Elements matching the given path. Example: element/"author".
# File lib/amazon/ecs.rb, line 279 def /(path) elements = @element/path return nil if elements.size == 0 elements end
Get the text value of the given path, leave empty to retrieve current element value.
# File lib/amazon/ecs.rb, line 309 def get(path='') Element.get(@element, path) end
Get the array values of the given path.
# File lib/amazon/ecs.rb, line 319 def get_array(path='') Element.get_array(@element, path) end
Similar with search_and_convert but always return first element if more than one elements found
# File lib/amazon/ecs.rb, line 303 def get_element(path) elements = get_elements(path) elements[0] if elements end
Return an array of Amazon::Element matching the given path
# File lib/amazon/ecs.rb, line 296 def get_elements(path) elements = self./(path) return unless elements elements = elements.map{|element| Element.new(element)} end
Get the children element text values in hash format with the element names as the hash keys.
# File lib/amazon/ecs.rb, line 324 def get_hash(path='') Element.get_hash(@element, path) end
Get the unescaped HTML text of the given path.
# File lib/amazon/ecs.rb, line 314 def get_unescaped(path='') Element.get_unescaped(@element, path) end
Return an array of Amazon::Element matching the given path, or Amazon::Element if there is only one element found.
DEPRECATED: Please use get_elements and get_element instead.
# File lib/amazon/ecs.rb, line 289 def search_and_convert(path) elements = self.get_elements(path) return elements.first if elements and elements.size == 1 elements end