diff options
Diffstat (limited to 'lib/puppet/provider/file_line/ruby.rb')
-rw-r--r-- | lib/puppet/provider/file_line/ruby.rb | 14 |
1 files changed, 13 insertions, 1 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 |