Class: Hyperwaverelay::Util

Inherits:
Object
  • Object
show all
Defined in:
lib/hyperwaverelay/util.rb

Class Method Summary collapse

Class Method Details

.has_ansible_cfg?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/hyperwaverelay/util.rb', line 5

def self.has_ansible_cfg?
  has_file?('ansible.cfg')
end

.has_dir?(dirname) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/hyperwaverelay/util.rb', line 24

def self.has_dir?(dirname)
  Pathname.glob('*').any? {|d| d.directory? && d.to_s == dirname}
end

.has_directories?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/hyperwaverelay/util.rb', line 8

def self.has_directories?
  has_dir?('group_vars') && has_dir?('host_vars') && has_dir?('roles')
end

.has_file?(filename) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/hyperwaverelay/util.rb', line 21

def self.has_file?(filename)
  Pathname.glob('*').any? {|f| f.file? && f.to_s == filename}
end

.has_hidden_file?(filename) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/hyperwaverelay/util.rb', line 27

def self.has_hidden_file?(filename)
  Pathname.glob('.*').any? {|f| f.file? && f.to_s == filename}
end

.is_ansible_project?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/hyperwaverelay/util.rb', line 11

def self.is_ansible_project?
  has_directories? && has_ansible_cfg?
end

.is_vaulted?(file) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/hyperwaverelay/util.rb', line 17

def self.is_vaulted?(file)
  File.readlines(file)[0] == "$ANSIBLE_VAULT;1.1;AES256\n"
end

.vault_present?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/hyperwaverelay/util.rb', line 14

def self.vault_present?
  has_hidden_file?('.vault_password')
end