Module: GoldenBrindle::Validations

Included in:
Base
Defined in:
lib/golden_brindle/validations.rb

Instance Method Summary collapse

Instance Method Details

#can_change_user?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/golden_brindle/validations.rb', line 27

def can_change_user?
  valid?(::Process.euid.zero?, "if you want to change workers UID/GID you must run programm from root")
end

#failure(message) ⇒ Object

Just a simple method to display failure until something better is developed.



51
52
53
# File 'lib/golden_brindle/validations.rb', line 51

def failure(message)
  STDERR.puts "#{::GoldenBrindle::Const::ANSI_RED}!!! * #{message}#{::GoldenBrindle::Const::ANSI_RESET}"
end

#valid?(exp, message) ⇒ Boolean

Validates the given expression is true and prints the message if not, exiting.

Returns:

  • (Boolean)


5
6
7
8
9
10
# File 'lib/golden_brindle/validations.rb', line 5

def valid?(exp, message)
  if !exp
    failure message
    @valid = false
  end
end

#valid_dir?(file, message) ⇒ Boolean

Validates that the given directory exists

Returns:

  • (Boolean)


23
24
25
# File 'lib/golden_brindle/validations.rb', line 23

def valid_dir?(file, message)
  valid?(::File.directory?(file), message)
end

#valid_exists?(file, message) ⇒ Boolean

Validates that a file exists and if not displays the message

Returns:

  • (Boolean)


13
14
15
# File 'lib/golden_brindle/validations.rb', line 13

def valid_exists?(file, message)
  valid?(File.exist?(file), message)
end

#valid_file?(file, message) ⇒ Boolean

Validates that the file is a file and not a directory or something else.

Returns:

  • (Boolean)


18
19
20
# File 'lib/golden_brindle/validations.rb', line 18

def valid_file?(file, message)
  valid?(::File.file?(file), message)
end

#valid_group?(group) ⇒ Boolean

Returns:

  • (Boolean)


41
42
43
44
45
46
47
48
# File 'lib/golden_brindle/validations.rb', line 41

def valid_group?(group)
  begin
    ::Etc.getgrnam(group)
  rescue
    failure "Group does not exist: #{group}"
    @valid = false
  end
end

#valid_user?(user) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
34
35
36
37
38
39
# File 'lib/golden_brindle/validations.rb', line 31

def valid_user?(user)
  return unless can_change_user?
  begin
    ::Etc.getpwnam(user)
  rescue
    failure "User does not exist: #{user}"
    @valid = false
  end
end