Browse Source

Added Dovecot::Conf#attribute library function

Xabier de Zuazo 11 years ago
parent
commit
6905371d0d
1 changed files with 14 additions and 3 deletions
  1. 14 3
      libraries/conf.rb

+ 14 - 3
libraries/conf.rb

@@ -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