summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPete Higgins <pete@peterhiggins.org>2020-05-28 17:24:29 -0700
committerPete Higgins <pete@peterhiggins.org>2020-06-03 11:46:53 -0700
commit8f7a2bb3eebb44af28aeb583edfdf993f0d47146 (patch)
tree1138c1d6546d2b7c2b2cfc31d29b77b0e8b173e5
parentb6a0189a3975cd183014dd191fde5b74440e2ee5 (diff)
downloadchef-8f7a2bb3eebb44af28aeb583edfdf993f0d47146.tar.gz
Untangle some inheritance code around script extension.
Signed-off-by: Pete Higgins <pete@peterhiggins.org>
-rw-r--r--lib/chef/provider/batch.rb7
-rw-r--r--lib/chef/provider/powershell_script.rb7
-rw-r--r--lib/chef/provider/windows_script.rb12
3 files changed, 14 insertions, 12 deletions
diff --git a/lib/chef/provider/batch.rb b/lib/chef/provider/batch.rb
index b79b464cbd..a8504fa656 100644
--- a/lib/chef/provider/batch.rb
+++ b/lib/chef/provider/batch.rb
@@ -24,10 +24,6 @@ class Chef
provides :batch
- def initialize(new_resource, run_context)
- super(new_resource, run_context, ".bat")
- end
-
def command
basepath = is_forced_32bit ? wow64_directory : run_context.node["kernel"]["os_info"]["system_directory"]
@@ -40,6 +36,9 @@ class Chef
new_resource.flags.nil? ? "/c" : new_resource.flags + " /c"
end
+ def script_extension
+ ".bat"
+ end
end
end
end
diff --git a/lib/chef/provider/powershell_script.rb b/lib/chef/provider/powershell_script.rb
index 5210b65d48..4f77cd2593 100644
--- a/lib/chef/provider/powershell_script.rb
+++ b/lib/chef/provider/powershell_script.rb
@@ -26,8 +26,8 @@ class Chef
provides :powershell_script
- def initialize(new_resource, run_context)
- super(new_resource, run_context, ".ps1")
+ def initialize(*args)
+ super
add_exit_status_wrapper
end
@@ -182,6 +182,9 @@ class Chef
EOH
end
+ def script_extension
+ ".ps1"
+ end
end
end
end
diff --git a/lib/chef/provider/windows_script.rb b/lib/chef/provider/windows_script.rb
index b17d638ca6..dcc38e94f7 100644
--- a/lib/chef/provider/windows_script.rb
+++ b/lib/chef/provider/windows_script.rb
@@ -29,9 +29,8 @@ class Chef
include Chef::Mixin::WindowsArchitectureHelper
- def initialize( new_resource, run_context, script_extension = "")
- super( new_resource, run_context )
- @script_extension = script_extension
+ def initialize(new_resource, run_context)
+ super
target_architecture = if new_resource.architecture.nil?
node_windows_architecture(run_context.node)
@@ -65,10 +64,11 @@ class Chef
end
def script_file
- base_script_name = "chef-script"
- temp_file_arguments = [ base_script_name, @script_extension ]
+ @script_file ||= Tempfile.open(["chef-script", script_extension])
+ end
- @script_file ||= Tempfile.open(temp_file_arguments)
+ def script_extension
+ raise Chef::Exceptions::Override, "You must override #{__method__} in #{self}"
end
end
end