Browse Source

sorting hashes in all templates

Xabier de Zuazo 11 years ago
parent
commit
dc6e00cc67
4 changed files with 10 additions and 10 deletions
  1. 7 7
      libraries/conf.rb
  2. 1 1
      libraries/plugins.rb
  3. 1 1
      libraries/protocols.rb
  4. 1 1
      templates/default/dovecot.conf.erb

+ 7 - 7
libraries/conf.rb

@@ -40,7 +40,7 @@ module Dovecot
   <%  unless conf.has_key?("driver") -%>
   <%  unless conf.has_key?("driver") -%>
   driver = <%=   @driver %>
   driver = <%=   @driver %>
   <%  end -%>
   <%  end -%>
-  <%  conf.each do |key, value|
+  <%  conf.sort.each do |key, value|
         unless value.nil?
         unless value.nil?
   -%>
   -%>
   <%=     key %> = <%= @Dovecot_Conf.value(value) %>
   <%=     key %> = <%= @Dovecot_Conf.value(value) %>
@@ -62,7 +62,7 @@ module Dovecot
 
 
       template =
       template =
 'plugin {
 'plugin {
-  <% @conf.each do |key, value|
+  <% @conf.sort.each do |key, value|
        unless value.nil?
        unless value.nil?
   -%>
   -%>
   <%=    key %> = <%= @Dovecot_Conf.value(value) %>
   <%=    key %> = <%= @Dovecot_Conf.value(value) %>
@@ -80,7 +80,7 @@ module Dovecot
     def self.namespace(ns)
     def self.namespace(ns)
       template =
       template =
 'namespace <%= @ns["name"] %> {
 'namespace <%= @ns["name"] %> {
-<%   @ns.each do |key, value|
+<%   @ns.sort.each do |key, value|
        if key != "name"
        if key != "name"
   -%>
   -%>
   <%=    key %> = <%= @Dovecot_Conf.value(value) %>
   <%=    key %> = <%= @Dovecot_Conf.value(value) %>
@@ -100,7 +100,7 @@ module Dovecot
 
 
       template =
       template =
 'protocol <%= @name %> {
 'protocol <%= @name %> {
-  <% @conf.each do |key, value| -%>
+  <% @conf.sort.each do |key, value| -%>
   <%=  key %> = <%= @Dovecot_Conf.value(value) %>
   <%=  key %> = <%= @Dovecot_Conf.value(value) %>
   <% end -%>
   <% end -%>
 }'
 }'
@@ -119,19 +119,19 @@ module Dovecot
 'service <%= @name %> {
 'service <%= @name %> {
   <% if @conf["listeners"].kind_of?(Array)
   <% if @conf["listeners"].kind_of?(Array)
       @conf["listeners"].each do |listener|
       @conf["listeners"].each do |listener|
-        listener.each do |service, values|
+        listener.sort.each do |service, values|
           service_proto = service.split(":")[0]
           service_proto = service.split(":")[0]
           service_name = service.split(":")[1]
           service_name = service.split(":")[1]
   -%>
   -%>
   <%=     service_proto %>_listener <%= service_name %> {
   <%=     service_proto %>_listener <%= service_name %> {
-  <%        values.each do |key, value|-%>
+  <%        values.sort.each do |key, value|-%>
     <%=       key %> = <%= @Dovecot_Conf.value(value) %>
     <%=       key %> = <%= @Dovecot_Conf.value(value) %>
   <%        end -%>
   <%        end -%>
   }
   }
   <%     end -%>
   <%     end -%>
   <%   end -%>
   <%   end -%>
   <% end -%>
   <% end -%>
-  <% @conf.each do |key, value|
+  <% @conf.sort.each do |key, value|
        if key != "listeners"
        if key != "listeners"
   -%>
   -%>
   <%=    key %> = <%= @Dovecot_Conf.value(value) %>
   <%=    key %> = <%= @Dovecot_Conf.value(value) %>

+ 1 - 1
libraries/plugins.rb

@@ -3,7 +3,7 @@ module Dovecot
 
 
     def self.required?(plugin, attrs)
     def self.required?(plugin, attrs)
       return true if attrs.has_key?('mail_plugins') and attrs['mail_plugins'].include?(plugin)
       return true if attrs.has_key?('mail_plugins') and attrs['mail_plugins'].include?(plugin)
-      attrs['protocols'].each do |protocol, conf|
+      attrs['protocols'].sort.each do |protocol, conf|
         return true if conf.has_key?('mail_plugins') and conf['mail_plugins'].include?(plugin)
         return true if conf.has_key?('mail_plugins') and conf['mail_plugins'].include?(plugin)
       end
       end
       false
       false

+ 1 - 1
libraries/protocols.rb

@@ -7,7 +7,7 @@ module Dovecot
 
 
     def self.list(protos)
     def self.list(protos)
       list = []
       list = []
-      protos.each do |proto, conf|
+      protos.sort.each do |proto, conf|
         list.push(proto) if conf.kind_of?(Hash)
         list.push(proto) if conf.kind_of?(Hash)
       end
       end
       list
       list

+ 1 - 1
templates/default/dovecot.conf.erb

@@ -81,7 +81,7 @@ protocols = <%= Dovecot::Conf.protocols(@protocols) %>
 
 
 <% if @conf['dict'].kind_of?(Hash) -%>
 <% if @conf['dict'].kind_of?(Hash) -%>
 dict {
 dict {
-<%   @conf['dict'].each do |key, value| -%>
+<%   @conf['dict'].sort.each do |key, value| -%>
   <%=  key %> = <%= Dovecot::Conf.value(value) %>
   <%=  key %> = <%= Dovecot::Conf.value(value) %>
 <%   end -%>
 <%   end -%>
 }
 }