diff --git a/libraries/default.rb b/libraries/default.rb index 7bee635..b7aeec4 100644 --- a/libraries/default.rb +++ b/libraries/default.rb @@ -137,18 +137,15 @@ def self.included(klass) end def deploy_provider - @deploy_provider ||= - begin - version = Chef::Version.new(Chef::VERSION) - deploy_provider = - if version.major > 10 || version.minor >= 14 - Chef::Platform.provider_for_resource(@deploy_resource, :nothing) - else - Chef::Platform.provider_for_resource(@deploy_resource) - end - deploy_provider.load_current_resource - deploy_provider - end + @deploy_provider ||= begin + provider = if Chef::Platform.method(:provider_for_resource).arity == 2 + Chef::Platform.provider_for_resource(@deploy_resource, :nothing) + else + Chef::Platform.provider_for_resource(@deploy_resource) + end + provider.load_current_resource + provider + end end def release_path diff --git a/providers/default.rb b/providers/default.rb index 7bf1a28..7376c63 100644 --- a/providers/default.rb +++ b/providers/default.rb @@ -140,14 +140,7 @@ def run_deploy(force = false) ([new_resource]+new_resource.sub_resources).each do |res| cmd = res.restart_command if cmd.is_a? Proc - version = Chef::Version.new(Chef::VERSION) - provider = if version.major > 10 || version.minor >= 14 - Chef::Platform.provider_for_resource(res, :nothing) - else - Chef::Platform.provider_for_resource(res) - end - provider.load_current_resource - provider.instance_eval(&cmd) + deploy_provider.instance_eval(&cmd) # @see libraries/default.rb elsif cmd && !cmd.empty? execute cmd do user new_resource.owner