Sha256: fc35e2499242ad05942dc20f4a281c257a4e08ab6e712a653e7b2617b7b4d105

Contents?: true

Size: 1.58 KB

Versions: 12

Compression:

Stored size: 1.58 KB

Contents

class Property::Dovecot < Property

  def self.service; DOVECOT ;end

  default_scope where(:service => self.service)

  def self.etc_dovecot
    '/etc/dovecot'
  end

  def self.value_template(a, locals)
    a.edit :file => "#{etc_dovecot}/dovecot.conf", :backup => false do
      locals.each do |key, value|
        replace /#{key}\s*=\s*.*/, "#{key} = #{value}"
      end
    end
  end

  def self.yes_no_template(a, values)
    a.edit  :file => "#{etc_dovecot}/dovecot.conf", :backup => false do
      values.each do |key, value|
        replace /^#{key}\s*=\s*.*$/, "#{key} = #{value}"
      end
    end
  end

  def self.commented_value_template(a, values)
    a.edit :file => "#{etc_dovecot}/dovecot.conf", :backup => false do
      values.each do |key, value|
        param_name = key.split('__').last
        rxp = /(\s*#\s#{key}\s+!!.*!!\s*$\s*#{param_name}\s*=\s*)(\d+)/
        manipulate do |text|
          text =~ rxp
          text.gsub rxp, "#{$1}#{value}"
        end
      end
    end
  end

  def self.storage_template(a, values)
    a.edit :file => "#{etc_dovecot}/dovecot.conf", :backup => false do
      values.each do |key, value|
        value += '%' if value =~ /%$/
        manipulate do |text|
          case key.to_sym
            when :storage_size
              text =~ rxp = /(\*:storage\s*=\s*).*$/
            when :storage_trash
              text =~ rxp = /(Trash:storage\s*=\s*).*$/
            when :storage_spam
              text =~ rxp = /(Spam:storage\s*=\s*).*$/
            else
          end
          text.gsub rxp, "#{$1}#{value}"
        end
      end
    end
  end


end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rmails-0.2.5 app/models/property/dovecot.rb
rmails-0.2.4 app/models/property/dovecot.rb
rmails-0.2.3 app/models/property/dovecot.rb
rmails-0.2.2 app/models/property/dovecot.rb
rmails-0.2.1 app/models/property/dovecot.rb
rmails-0.2.0 app/models/property/dovecot.rb
rmails-0.1.6 app/models/property/dovecot.rb
rmails-0.1.5 app/models/property/dovecot.rb
rmails-0.1.4 app/models/property/dovecot.rb
rmails-0.1.3 app/models/property/dovecot.rb
rmails-0.1.2 app/models/property/dovecot.rb
rmails-0.1.1 app/models/property/dovecot.rb