diff options
Diffstat (limited to 'lib')
-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' |