class OvirtSDK4::ApiReader
Public Class Methods
read_many(reader)
click to toggle source
# File lib/ovirtsdk4/readers.rb, line 922 def self.read_many(reader) # Do nothing if there aren't more tags: list = List.new return list unless reader.forward # Process the attributes: list.href = reader.get_attribute('href') # Discard the start tag: empty = reader.empty_element? reader.read return list if empty # Process the inner elements: while reader.forward do list << read_one(reader) end # Discard the end tag: reader.read return list end
read_one(reader)
click to toggle source
# File lib/ovirtsdk4/readers.rb, line 878 def self.read_one(reader) # Do nothing if there aren't more tags: return nil unless reader.forward # Create the object: object = Api.new # Process the attributes: object.href = reader.get_attribute('href') value = reader.get_attribute('time') object.time = value if not value.nil? # Discard the start tag: empty = reader.empty_element? reader.read return object if empty # Process the inner elements: while reader.forward do case reader.node_name when 'product_info' object.product_info = ProductInfoReader.read_one(reader) when 'special_objects' object.special_objects = SpecialObjectsReader.read_one(reader) when 'summary' object.summary = ApiSummaryReader.read_one(reader) when 'time' object.time = Reader.read_date(reader) when 'authenticated_user' object.authenticated_user = UserReader.read_one(reader) when 'effective_user' object.effective_user = UserReader.read_one(reader) else reader.next_element end end # Discard the end tag: reader.read return object end