Class: Authpipe::AccountData

Inherits:
Hash
  • Object
show all
Defined in:
lib/authpipe/account_data.rb

Instance Method Summary collapse

Instance Method Details

#to_authpipeObject



27
28
29
30
31
32
33
34
35
36
# File 'lib/authpipe/account_data.rb', line 27

def to_authpipe
  validate!
  result = self.inject([]) do |result, (key, value)|
    (result << key.to_s.upcase + "=" + value.to_s) unless value.nil?
    result
  end
  result.sort!
  result << ".\n"
  return result.join("\n")
end

#to_enumerateObject



38
39
40
# File 'lib/authpipe/account_data.rb', line 38

def to_enumerate
  [self[:username], self[:uid], self[:gid], self[:home], self[:maildir], self[:options]].join("\t")
end

#validate!Object

Raises:



42
43
44
45
46
47
# File 'lib/authpipe/account_data.rb', line 42

def validate!
  raise InvalidAccountData, 'ADDRESS is required' unless self[:address]
  raise InvalidAccountData, 'HOME is required' unless self[:home]
  raise InvalidAccountData, 'GID is required' unless self[:gid]
  raise InvalidAccountData, 'Either UID or USERNAME is required' unless self[:uid] || self[:username]
end