diff options
author | Daniel Pittman <daniel@rimspace.net> | 2012-02-09 11:45:20 -0800 |
---|---|---|
committer | Daniel Pittman <daniel@rimspace.net> | 2012-02-09 11:45:20 -0800 |
commit | 966a4bf9067bffcfa73c664ba419894d783afdba (patch) | |
tree | 055da1b961bd251965112ceeefbaad160b6374fb /lib/puppet | |
parent | d6fdfaba11aeff35604f1d5a917823f145a1cb76 (diff) | |
parent | fc5cfc8cca2d9650d0b7e1dcafe92bf69aedadf9 (diff) | |
download | puppet-stdlib-966a4bf9067bffcfa73c664ba419894d783afdba.tar.gz puppet-stdlib-966a4bf9067bffcfa73c664ba419894d783afdba.tar.bz2 |
Merge pull request #36 from duritong/tickets/11017
implement #11017 - make file_line type ensurable
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/provider/file_line/ruby.rb | 14 | ||||
-rw-r--r-- | lib/puppet/type/file_line.rb | 7 |
2 files changed, 14 insertions, 7 deletions
diff --git a/lib/puppet/provider/file_line/ruby.rb b/lib/puppet/provider/file_line/ruby.rb index 63bbd8e..f5d3a32 100644 --- a/lib/puppet/provider/file_line/ruby.rb +++ b/lib/puppet/provider/file_line/ruby.rb @@ -1,7 +1,7 @@ Puppet::Type.type(:file_line).provide(:ruby) do def exists? - File.readlines(resource[:path]).find do |line| + lines.find do |line| line.chomp == resource[:line].chomp end end @@ -12,4 +12,16 @@ Puppet::Type.type(:file_line).provide(:ruby) do end end + def destroy + local_lines = lines + File.open(resource[:path],'w') do |fh| + fh.write(local_lines.reject{|l| l.chomp == resource[:line] }.join('')) + end + end + + private + def lines + @lines ||= File.readlines(resource[:path]) + end + end diff --git a/lib/puppet/type/file_line.rb b/lib/puppet/type/file_line.rb index 8b45897..9f03771 100644 --- a/lib/puppet/type/file_line.rb +++ b/lib/puppet/type/file_line.rb @@ -23,12 +23,7 @@ Puppet::Type.newtype(:file_line) do EOT - ensurable do - defaultto :present - newvalue(:present) do - provider.create - end - end + ensurable newparam(:name, :namevar => true) do desc 'arbitrary name used as identity' |