class Xapi::Group

Group model class

Attributes

members[RW]

Public Class Methods

new(options={}, &block) click to toggle source
Calls superclass method Xapi::Agent::new
# File lib/xapi/group.rb, line 8
def initialize(options={}, &block)
  super(options, &block)

  @object_type = 'Group'
  @members = []
  json = options.fetch(:json, nil)
  if json
    attributes = JSON.parse(json)
    attributes['member'].each do |member|
      members << Agent.new(json: member.to_json)
    end
  else
    self.members = options.fetch(:members, nil)

    if block_given?
      block[self]
    end
  end
end

Public Instance Methods

serialize(version) click to toggle source
Calls superclass method Xapi::Agent#serialize
# File lib/xapi/group.rb, line 28
def serialize(version)
  node = super(version)
  if members.any?
    node['member'] = members.map {|member| member.serialize(version)}
  end
  node
end