Class: Groups

Inherits:
Object
  • Object
show all
Defined in:
lib/floatyhelper/groups.rb

Class Method Summary collapse

Class Method Details

.addhosts(hosts, tag) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/floatyhelper/groups.rb', line 23

def self.addhosts(hosts, tag)
  data = Conf.load_data
  data['vms'] ||= {}
  tag = 'Blank Tag' unless tag #Removed the ability to do this
  hosts.each do |host|
    data['vms'][tag] ||= []
    data['vms'][tag] << host unless data['vms'][tag].include?(host)
  end
  Conf.write_data(data)
end

.appendhosts(hosts, tag) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/floatyhelper/groups.rb', line 34

def self.appendhosts(hosts, tag)
  data = Conf.load_data
  hosts.each do |host|
    data['vms'][tag] ||= []
    data['vms'][tag] << host unless data['vms'][tag].include?(host)
  end
  Conf.write_data(data)
end

.delete_allObject



16
17
18
19
20
21
# File 'lib/floatyhelper/groups.rb', line 16

def self.delete_all
  data = Conf.load_data
  data['vms'] = {}
  data['snapshots'] = {}
  Conf.write_data(data)
end

.delete_tag(tag) ⇒ Object



9
10
11
12
13
14
# File 'lib/floatyhelper/groups.rb', line 9

def self.delete_tag(tag)
  data = Conf.load_data
  data['vms'].delete(tag)
  data['snapshots'].delete(tag) if data['snapshots'].keys.include?(tag)
  Conf.write_data(data)
end

.host_tag(host) ⇒ Object



58
59
60
61
62
63
# File 'lib/floatyhelper/groups.rb', line 58

def self.host_tag(host)
  data = Conf.load_data
  raise 'Host not found' unless is_managed_host?(host)
  tags = data['vms'].select { |tag, hosts| hosts.include?(host) }.keys
  tags[0]
end

.is_managed_host?(host) ⇒ Boolean

Returns:

  • (Boolean)


53
54
55
56
# File 'lib/floatyhelper/groups.rb', line 53

def self.is_managed_host?(host)
  data = Conf.load_data
  data['vms'].any? { |tag, hosts| hosts.include?(host) }
end

.is_tag?(id) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
7
# File 'lib/floatyhelper/groups.rb', line 4

def self.is_tag?(id)
  data = Conf.load_data
  data['vms'].keys.include?(id)
end

.removehosts(hosts, tag) ⇒ Object



43
44
45
46
47
48
49
50
51
# File 'lib/floatyhelper/groups.rb', line 43

def self.removehosts(hosts, tag)
  data = Conf.load_data
  hosts.each do |host|
    data['vms'][tag] ||= []
    data['vms'][tag].delete(host)
    data['vms'].delete(tag) if data['vms'][tag].empty?
  end
  Conf.write_data(data)
end