# File lib/ovirtsdk4/readers.rb, line 3251 def self.read_link(reader, object) # Process the attributes: rel = reader.get_attribute('rel') href = reader.get_attribute('href') if rel && href list = List.new list.href = href case rel when 'permissions' object.permissions = list when 'statistics' object.statistics = list when 'storagedomains' object.storage_domains = list when 'vms' object.vms = list end end # Discard the rest of the element: reader.next_element end
# File lib/ovirtsdk4/readers.rb, line 3227 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
# File lib/ovirtsdk4/readers.rb, line 3073 def self.read_one(reader) # Do nothing if there aren't more tags: return nil unless reader.forward # Create the object: object = Disk.new # Process the attributes: object.href = reader.get_attribute('href') value = reader.get_attribute('active') object.active = value if not value.nil? value = reader.get_attribute('actual_size') object.actual_size = value if not value.nil? value = reader.get_attribute('alias') object.alias_ = value if not value.nil? value = reader.get_attribute('bootable') object.bootable = value if not value.nil? value = reader.get_attribute('comment') object.comment = value if not value.nil? value = reader.get_attribute('description') object.description = value if not value.nil? value = reader.get_attribute('format') object.format = value if not value.nil? value = reader.get_attribute('id') object.id = value if not value.nil? value = reader.get_attribute('image_id') object.image_id = value if not value.nil? value = reader.get_attribute('initial_size') object.initial_size = value if not value.nil? value = reader.get_attribute('interface') object.interface = value if not value.nil? value = reader.get_attribute('logical_name') object.logical_name = value if not value.nil? value = reader.get_attribute('name') object.name = value if not value.nil? value = reader.get_attribute('propagate_errors') object.propagate_errors = value if not value.nil? value = reader.get_attribute('provisioned_size') object.provisioned_size = value if not value.nil? value = reader.get_attribute('qcow_version') object.qcow_version = value if not value.nil? value = reader.get_attribute('read_only') object.read_only = value if not value.nil? value = reader.get_attribute('sgio') object.sgio = value if not value.nil? value = reader.get_attribute('shareable') object.shareable = value if not value.nil? value = reader.get_attribute('sparse') object.sparse = value if not value.nil? value = reader.get_attribute('status') object.status = value if not value.nil? value = reader.get_attribute('storage_type') object.storage_type = value if not value.nil? value = reader.get_attribute('uses_scsi_reservation') object.uses_scsi_reservation = value if not value.nil? value = reader.get_attribute('wipe_after_delete') object.wipe_after_delete = 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 'active' object.active = Reader.read_boolean(reader) when 'actual_size' object.actual_size = Reader.read_integer(reader) when 'alias' object.alias_ = Reader.read_string(reader) when 'bootable' object.bootable = Reader.read_boolean(reader) when 'comment' object.comment = Reader.read_string(reader) when 'description' object.description = Reader.read_string(reader) when 'format' object.format = Reader.read_string(reader) when 'id' object.id = Reader.read_string(reader) when 'image_id' object.image_id = Reader.read_string(reader) when 'initial_size' object.initial_size = Reader.read_integer(reader) when 'interface' object.interface = Reader.read_string(reader) when 'logical_name' object.logical_name = Reader.read_string(reader) when 'lun_storage' object.lun_storage = HostStorageReader.read_one(reader) when 'name' object.name = Reader.read_string(reader) when 'propagate_errors' object.propagate_errors = Reader.read_boolean(reader) when 'provisioned_size' object.provisioned_size = Reader.read_integer(reader) when 'qcow_version' object.qcow_version = Reader.read_string(reader) when 'read_only' object.read_only = Reader.read_boolean(reader) when 'sgio' object.sgio = Reader.read_string(reader) when 'shareable' object.shareable = Reader.read_boolean(reader) when 'sparse' object.sparse = Reader.read_boolean(reader) when 'status' object.status = Reader.read_string(reader) when 'storage_type' object.storage_type = Reader.read_string(reader) when 'uses_scsi_reservation' object.uses_scsi_reservation = Reader.read_boolean(reader) when 'wipe_after_delete' object.wipe_after_delete = Reader.read_boolean(reader) when 'disk_profile' object.disk_profile = DiskProfileReader.read_one(reader) when 'instance_type' object.instance_type = InstanceTypeReader.read_one(reader) when 'openstack_volume_type' object.openstack_volume_type = OpenStackVolumeTypeReader.read_one(reader) when 'permissions' object.permissions = PermissionReader.read_many(reader) when 'quota' object.quota = QuotaReader.read_one(reader) when 'snapshot' object.snapshot = SnapshotReader.read_one(reader) when 'statistics' object.statistics = StatisticReader.read_many(reader) when 'storage_domain' object.storage_domain = StorageDomainReader.read_one(reader) when 'storage_domains' object.storage_domains = StorageDomainReader.read_many(reader) when 'template' object.template = TemplateReader.read_one(reader) when 'vm' object.vm = VmReader.read_one(reader) when 'vms' object.vms = VmReader.read_many(reader) when 'link' read_link(reader, object) else reader.next_element end end # Discard the end tag: reader.read return object end