lib/chef/resource/remote_directory.rb in chef-0.10.8 vs lib/chef/resource/remote_directory.rb in chef-0.10.10.beta.1

- old
+ new

@@ -15,15 +15,20 @@ # See the License for the specific language governing permissions and # limitations under the License. # require 'chef/resource/directory' +require 'chef/provider/remote_directory' +require 'chef/mixin/securable' class Chef class Resource class RemoteDirectory < Chef::Resource::Directory - + include Chef::Mixin::Securable + + provides :remote_directory, :on_platforms => :all + def initialize(name, run_context=nil) super @resource_name = :remote_directory @path = name @source = ::File.basename(name) @@ -32,14 +37,15 @@ @recursive = true @purge = false @files_backup = 5 @files_owner = nil @files_group = nil - @files_mode = 0644 + @files_mode = 0644 unless Chef::Platform.windows? @overwrite = true @allowed_actions.push(:create, :create_if_missing, :delete) @cookbook = nil + @provider = Chef::Provider::RemoteDirectory end def source(args=nil) set_or_return( :source, @@ -68,9 +74,14 @@ set_or_return( :files_group, arg, :regex => Chef::Config[:group_valid_regex] ) + end + + if Chef::Platform.windows? + # create a second instance of the 'rights' attribute + Chef::Mixin::Securable.rights_attribute(:files_rights) end def files_mode(arg=nil) set_or_return( :files_mode,