Class: Smailr::Alias
- Inherits:
-
Object
- Object
- Smailr::Alias
- Defined in:
- lib/smailr/alias.rb
Class Method Summary collapse
Class Method Details
.add(source, destinations) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/smailr/alias.rb', line 3 def self.add(source, destinations) srclocalpart, srcdomain = source.split('@') # We don't want aliases for non-local domains, since the # exim router won't accept it. if not Model::Domain[:fqdn => srcdomain].exists? raise MissingDomain, "You are trying to add an alias for a non existing domain: #{source}" end destinations.each do |dst| dstlocalpart, dstdomain = dst.split('@') Smailr::logger.warn("Adding alias: #{source} -> #{dst}") Model::Alias.find_or_create(:domain => Model::Domain[:fqdn => srcdomain], :localpart => srclocalpart, :dstdomain => dstdomain, :dstlocalpart => dstlocalpart) end end |
.rm(source, destinations) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/smailr/alias.rb', line 24 def self.rm(source, destinations) srclocalpart, srcdomain = source.split('@') destinations.each do |dst| Smailr::logger.warn("Removing alias: #{source} -> #{dst}") dstlocalpart, dstdomain = dst.split('@') Model::Alias.filter(:domain => Model::Domain[:fqdn => srcdomain], :localpart => srclocalpart, :dstdomain => dstdomain, :dstlocalpart => dstlocalpart).delete end end |