diff options
Diffstat (limited to 'lib/puppet/provider')
| -rw-r--r-- | lib/puppet/provider/mailalias/aliases.rb | 45 | 
1 files changed, 22 insertions, 23 deletions
diff --git a/lib/puppet/provider/mailalias/aliases.rb b/lib/puppet/provider/mailalias/aliases.rb index 038d450..9a9fa22 100644 --- a/lib/puppet/provider/mailalias/aliases.rb +++ b/lib/puppet/provider/mailalias/aliases.rb @@ -2,49 +2,48 @@ require 'puppet/provider/parsedfile'  Puppet::Type.type(:mailalias).provide(    :aliases, -  :parent => Puppet::Provider::ParsedFile, -  :default_target => "/etc/aliases", -  :filetype => :flat +  parent: Puppet::Provider::ParsedFile, +  default_target: '/etc/aliases', +  filetype: :flat,  ) do -  text_line :comment, :match => /^#/ -  text_line :blank, :match => /^\s*$/ +  text_line :comment, match: %r{^#} +  text_line :blank, match: %r{^\s*$} -  record_line :aliases, :fields => %w{name recipient}, :separator => /\s*:\s*/, :block_eval => :instance do +  record_line :aliases, fields: %w[name recipient], separator: %r{\s*:\s*}, block_eval: :instance do      def post_parse(record)        if record[:recipient] -	record[:recipient] = record[:recipient].split(/\s*,\s*/).collect { |d| d.gsub(/^['"]|['"]$/, '') } +        record[:recipient] = record[:recipient].split(%r{\s*,\s*}).map { |d| d.gsub(%r{^['"]|['"]$}, '') }        end        record      end      def process(line)        ret = {} -      records = line.split(':',4) +      records = line.split(':', 4)        ret[:name] = records[0].strip -      if records.length == 4 and records[2].strip == 'include' -	ret[:file] = records[3].strip +      if records.length == 4 && records[2].strip == 'include' +        ret[:file] = records[3].strip        else -	records = line.split(':',2) -	ret[:recipient] = records[1].strip +        records = line.split(':', 2) +        ret[:recipient] = records[1].strip        end        ret      end      def to_line(record)        if record[:recipient] -	dest = record[:recipient].collect do |d| -	  # Quote aliases that have non-alpha chars -	  if d =~ /[^-+\w@.]/ -	    '"%s"' % d -	  else -	    d -	  end -	end.join(",") -	"#{record[:name]}: #{dest}" +        dest = record[:recipient].map { |d| +          # Quote aliases that have non-alpha chars +          if d =~ %r{[^-+\w@.]} +            '"%s"' % d +          else +            d +          end +        }.join(',') +        "#{record[:name]}: #{dest}"        elsif record[:file] -	"#{record[:name]}: :include: #{record[:file]}" +        "#{record[:name]}: :include: #{record[:file]}"        end      end    end  end -  | 
