plain_file.rb 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. action :replace do
  2. file new_resource.name do
  3. if ::File.exists? new_resource.name
  4. old_content = IO.read new_resource.name
  5. if old_content =~ /#{new_resource.before}/
  6. content old_content.gsub(new_resource.before, new_resource.after)
  7. end
  8. owner new_resource.owner
  9. group new_resource.group
  10. else
  11. Chef::Log.debug("replace action couldn't be performed. #{new_resource.name} does not exist")
  12. end
  13. end
  14. end
  15. action :add do
  16. file new_resource.name do
  17. if ::File.exists? new_resource.name
  18. old_content = IO.read new_resource.name
  19. else
  20. old_content = ""
  21. end
  22. old_content << new_resource.new_line + "\n"
  23. content old_content
  24. owner new_resource.owner
  25. group new_resource.group
  26. end
  27. end
  28. action :remove do
  29. file new_resource.name do
  30. if ::File.exists? new_resource.name
  31. old_content = IO.read new_resource.name
  32. new_content = ""
  33. old_content.each do |line|
  34. new_content << line unless line =~ /#{new_resource.pattern}/
  35. end
  36. content new_content
  37. owner new_resource.owner
  38. group new_resource.group
  39. end
  40. end
  41. end