|
@@ -4,10 +4,12 @@ require 'erubis'
|
|
|
module Dovecot
|
|
|
module Conf
|
|
|
|
|
|
- def self.value(v)
|
|
|
- if v.kind_of?(TrueClass)
|
|
|
+ def self.value(v, default = nil)
|
|
|
+ if v.nil?
|
|
|
+ default.to_s
|
|
|
+ elsif v === true
|
|
|
'yes'
|
|
|
- elsif v.kind_of?(FalseClass)
|
|
|
+ elsif v === false
|
|
|
'no'
|
|
|
elsif v.kind_of?(Array)
|
|
|
v.join(' ')
|
|
@@ -16,6 +18,15 @@ module Dovecot
|
|
|
end
|
|
|
end
|
|
|
|
|
|
+ def self.attribute(conf, k, default = nil)
|
|
|
+ v = conf[k]
|
|
|
+ if v.nil?
|
|
|
+ "##{k} = #{value(default)}"
|
|
|
+ else
|
|
|
+ "#{k} = #{value(v)}"
|
|
|
+ end
|
|
|
+ end
|
|
|
+
|
|
|
def self.protocols(conf)
|
|
|
Dovecot::Protocols.list(conf).join(' ')
|
|
|
end
|