Class: Groups
- Inherits:
-
Object
- Object
- Groups
- Defined in:
- lib/floatyhelper/groups.rb
Class Method Summary collapse
- .addhosts(hosts, tag) ⇒ Object
- .delete_all ⇒ Object
- .delete_tag(tag, data: nil) ⇒ Object
- .get_hosts(tag) ⇒ Object
- .get_tags ⇒ Object
- .host_tag(host) ⇒ Object
- .managed_host?(host) ⇒ Boolean
- .removehosts(hosts, tag) ⇒ Object
- .tag?(id) ⇒ Boolean
Class Method Details
.addhosts(hosts, tag) ⇒ Object
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/floatyhelper/groups.rb', line 37 def self.addhosts(hosts, tag) data = Config.load_data data['vms'] ||= {} tag ||= 'Blank 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 Config.write_data(data) end |
.delete_all ⇒ Object
25 26 27 28 29 30 |
# File 'lib/floatyhelper/groups.rb', line 25 def self.delete_all data = Config.load_data data['vms'] = {} data['snapshots'] = {} Config.write_data(data) end |
.delete_tag(tag, data: nil) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/floatyhelper/groups.rb', line 18 def self.delete_tag(tag, data: nil) data ||= Config.load_data data['vms'].delete(tag) data['snapshots'].delete(tag) if data['snapshots'].keys.include?(tag) Config.write_data(data) end |
.get_hosts(tag) ⇒ Object
32 33 34 35 |
# File 'lib/floatyhelper/groups.rb', line 32 def self.get_hosts(tag) data = Config.load_data data['vms'][tag] end |
.get_tags ⇒ Object
8 9 10 11 |
# File 'lib/floatyhelper/groups.rb', line 8 def self. data = Config.load_data data['vms'].keys end |
.host_tag(host) ⇒ Object
70 71 72 73 74 75 |
# File 'lib/floatyhelper/groups.rb', line 70 def self.host_tag(host) data = Config.load_data raise 'Host not found' unless managed_host?(host) = data['vms'].select { |_tag, hosts| hosts.include?(host) }.keys [0] end |
.managed_host?(host) ⇒ Boolean
65 66 67 68 |
# File 'lib/floatyhelper/groups.rb', line 65 def self.managed_host?(host) data = Config.load_data data['vms'].any? { |_tag, hosts| hosts.include?(host) } end |
.removehosts(hosts, tag) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/floatyhelper/groups.rb', line 48 def self.removehosts(hosts, tag) data = Config.load_data return if data['vms'][tag].nil? hosts.each do |host| data['vms'][tag] ||= [] data['vms'][tag].delete(host) if data['snapshots'][tag] data['snapshots'][tag].each do |snaptag, _vals| data['snapshots'][tag][snaptag].delete(host) end end delete_tag(tag, data: data) if data['vms'][tag].empty? end Config.write_data(data) end |
.tag?(id) ⇒ Boolean
13 14 15 16 |
# File 'lib/floatyhelper/groups.rb', line 13 def self.tag?(id) data = Config.load_data data['vms'].keys.include?(id) end |