Browse Source

Call updated_by_last_action with an actually useful value instead of always passing true.

Douglas Thrift 10 years ago
parent
commit
2fddf7e553
2 changed files with 12 additions and 5 deletions
  1. 2 1
      metadata.rb
  2. 10 4
      providers/plain_file.rb

+ 2 - 1
metadata.rb

@@ -1,6 +1,7 @@
+name             "conf"
 maintainer       "Juanje Ojeda"
 maintainer_email "juanje.ojeda@gmail.com"
 license          "Apache 2.0"
 description      "LWRP to manage configuration files"
 long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version          "0.1.0"
+version          "0.1.1"

+ 10 - 4
providers/plain_file.rb

@@ -12,8 +12,9 @@ action :replace do
   if ::File.exists? new_resource.name
     current_content = Chef::Util::FileEdit.new new_resource.name
     current_content.search_file_replace(new_resource.current_line, new_resource.new_line)
+    edited = current_content.file_edited
     current_content.write_file
-    new_resource.updated_by_last_action(true)
+    new_resource.updated_by_last_action(edited)
   else
     Chef::Log.debug("replace action couldn't be performed. #{new_resource.name} does not exist")
   end
@@ -36,14 +37,16 @@ action :insert_if_no_match do
     new_file = Chef::Util::FileEdit.new new_resource.name
     new_file.insert_line_if_no_match(new_resource.pattern,
                                      new_resource.new_line)
+    edited = new_file.file_edited
     new_file.write_file
   else
     write_new_file(new_resource.name,
                    new_resource.new_line,
                    new_resource.owner,
                    new_resource.group)
+    edited = true
   end
-  new_resource.updated_by_last_action(true)
+  new_resource.updated_by_last_action(edited)
 end
 
 action :insert_after_match do
@@ -51,22 +54,25 @@ action :insert_after_match do
     new_file = Chef::Util::FileEdit.new new_resource.name
     new_file.insert_line_after_match(new_resource.pattern,
                                      new_resource.new_line)
+    edited = new_file.file_edited
     new_file.write_file
   else
     write_new_file(new_resource.name,
                    new_resource.new_line,
                    new_resource.owner,
                    new_resource.group)
+    edited = true
   end
-  new_resource.updated_by_last_action(true)
+  new_resource.updated_by_last_action(edited)
 end
 
 action :remove do
   if ::File.exists? new_resource.name
     new_file = Chef::Util::FileEdit.new new_resource.name
     new_file.search_file_delete_line(new_resource.pattern)
+    edited = new_file.file_edited
     new_file.write_file
-    new_resource.updated_by_last_action(true)
+    new_resource.updated_by_last_action(edited)
   end
 end