Class: Specinfra::Command::Base::MailAlias

Inherits:
Specinfra::Command::Base show all
Defined in:
lib/specinfra/command/base/mail_alias.rb

Direct Known Subclasses

Openbsd::Base::MailAlias

Class Method Summary collapse

Methods inherited from Specinfra::Command::Base

create, escape

Class Method Details

.add(mail_alias, recipient) ⇒ Object


11
12
13
# File 'lib/specinfra/command/base/mail_alias.rb', line 11

def add(mail_alias, recipient)
  "echo #{mail_alias}: #{recipient} >> /etc/aliases"
end

.check_is_aliased_to(mail_alias, recipient) ⇒ Object


3
4
5
6
7
8
9
# File 'lib/specinfra/command/base/mail_alias.rb', line 3

def check_is_aliased_to(mail_alias, recipient)
  ## if the recipient contains pipes escape them
  ## or egrep will interpret it as an OR
  recipient = recipient.gsub(/\|/, '\|')
  recipient = "[[:space:]]([\"']?)#{recipient}\\1(,|$)"
  "getent aliases #{escape(mail_alias)} | egrep -- #{escape(recipient)}"
end