Class: Rubix::HostGroup

Inherits:
Model
  • Object
show all
Includes:
Associations::HasManyHosts
Defined in:
lib/rubix/models/host_group.rb

Instance Attribute Summary collapse

Attributes inherited from Model

#id, #properties

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Associations::HasManyHosts

#host_ids, #host_ids=, #hosts, #hosts=

Methods inherited from Model

all, all_params, all_request, #before_destroy, #before_update, #create, #create_request, #destroy, #destroy_request, each, find, find_or_create, find_request, #id_field, list, #new_record?, request, #request, #resource_name, resource_name, #save, #update, #update_params, #update_request, #validate, web_request, zabbix_name

Methods included from Logs

#debug, #error, #fatal, #info, #warn

Constructor Details

#initialize(properties = {}) ⇒ HostGroup

Properties & Finding ==



9
10
11
12
13
14
15
# File 'lib/rubix/models/host_group.rb', line 9

def initialize properties={}
  super(properties)
  @name     = properties[:name]
  
  self.host_ids = properties[:host_ids]
  self.hosts    = properties[:hosts]
end

Instance Attribute Details

#nameObject

Returns the value of attribute name.



17
18
19
# File 'lib/rubix/models/host_group.rb', line 17

def name
  @name
end

Class Method Details

.build(host_group) ⇒ Object



50
51
52
53
54
55
56
# File 'lib/rubix/models/host_group.rb', line 50

def self.build host_group
  new({
        :id       => host_group[id_field].to_i,
        :name     => host_group['name'],
        :host_ids => host_group['hosts'].map { |host_info| host_info['hostid'].to_i }
      })
end

.find_params(options = {}) ⇒ Object



46
47
48
# File 'lib/rubix/models/host_group.rb', line 46

def self.find_params options={}
  get_params.merge(:filter => {id_field => options[:id], :name => options[:name]})
end

.get_paramsObject



42
43
44
# File 'lib/rubix/models/host_group.rb', line 42

def self.get_params
  super().merge(:select_hosts => :refer)
end

.id_fieldObject



20
21
22
# File 'lib/rubix/models/host_group.rb', line 20

def self.id_field
  'groupid'
end

Instance Method Details

#create_paramsObject

Requests ==



34
35
36
# File 'lib/rubix/models/host_group.rb', line 34

def create_params
  {:name => name}
end

#destroy_paramsObject



38
39
40
# File 'lib/rubix/models/host_group.rb', line 38

def destroy_params
  [{id_field => id}]
end