diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2017-02-15 13:02:21 -0800 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2017-02-15 13:02:21 -0800 |
commit | 80b6150b5aafa1426629102d2b70f13b893b9faf (patch) | |
tree | 0e7f79dd1b90b0f4fe18b0247c44d3f155cd1fce /lib/chef/provider/subversion.rb | |
parent | ac07b819652edb10b0421c12c16cce13e6e70f23 (diff) | |
download | chef-80b6150b5aafa1426629102d2b70f13b893b9faf.tar.gz |
cleans up the remaining new/current_resource ivarslcg/remove-ivars
switches from using ivars to accessors for getters
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'lib/chef/provider/subversion.rb')
-rw-r--r-- | lib/chef/provider/subversion.rb | 78 |
1 files changed, 39 insertions, 39 deletions
diff --git a/lib/chef/provider/subversion.rb b/lib/chef/provider/subversion.rb index ea32283bc9..ee8ea7c495 100644 --- a/lib/chef/provider/subversion.rb +++ b/lib/chef/provider/subversion.rb @@ -40,11 +40,11 @@ class Chef end def load_current_resource - @current_resource = Chef::Resource::Subversion.new(@new_resource.name) + @current_resource = Chef::Resource::Subversion.new(new_resource.name) - unless [:export, :force_export].include?(Array(@new_resource.action).first) + unless [:export, :force_export].include?(Array(new_resource.action).first) if current_revision = find_current_revision - @current_resource.revision current_revision + current_resource.revision current_revision end end end @@ -53,21 +53,21 @@ class Chef requirements.assert(:all_actions) do |a| # Make sure the parent dir exists, or else fail. # for why run, print a message explaining the potential error. - parent_directory = ::File.dirname(@new_resource.destination) + parent_directory = ::File.dirname(new_resource.destination) a.assertion { ::File.directory?(parent_directory) } a.failure_message(Chef::Exceptions::MissingParentDirectory, - "Cannot clone #{@new_resource} to #{@new_resource.destination}, the enclosing directory #{parent_directory} does not exist") + "Cannot clone #{new_resource} to #{new_resource.destination}, the enclosing directory #{parent_directory} does not exist") a.whyrun("Directory #{parent_directory} does not exist, assuming it would have been created") end end def action_checkout if target_dir_non_existent_or_empty? - converge_by("perform checkout of #{@new_resource.repository} into #{@new_resource.destination}") do + converge_by("perform checkout of #{new_resource.repository} into #{new_resource.destination}") do shell_out!(checkout_command, run_options) end else - Chef::Log.debug "#{@new_resource} checkout destination #{@new_resource.destination} already exists or is a non-empty directory - nothing to do" + Chef::Log.debug "#{new_resource} checkout destination #{new_resource.destination} already exists or is a non-empty directory - nothing to do" end end @@ -75,25 +75,25 @@ class Chef if target_dir_non_existent_or_empty? action_force_export else - Chef::Log.debug "#{@new_resource} export destination #{@new_resource.destination} already exists or is a non-empty directory - nothing to do" + Chef::Log.debug "#{new_resource} export destination #{new_resource.destination} already exists or is a non-empty directory - nothing to do" end end def action_force_export - converge_by("export #{@new_resource.repository} into #{@new_resource.destination}") do + converge_by("export #{new_resource.repository} into #{new_resource.destination}") do shell_out!(export_command, run_options) end end def action_sync assert_target_directory_valid! - if ::File.exist?(::File.join(@new_resource.destination, ".svn")) + if ::File.exist?(::File.join(new_resource.destination, ".svn")) current_rev = find_current_revision - Chef::Log.debug "#{@new_resource} current revision: #{current_rev} target revision: #{revision_int}" + Chef::Log.debug "#{new_resource} current revision: #{current_rev} target revision: #{revision_int}" unless current_revision_matches_target_revision? - converge_by("sync #{@new_resource.destination} from #{@new_resource.repository}") do + converge_by("sync #{new_resource.destination} from #{new_resource.repository}") do shell_out!(sync_command, run_options) - Chef::Log.info "#{@new_resource} updated to revision: #{revision_int}" + Chef::Log.info "#{new_resource} updated to revision: #{revision_int}" end end else @@ -102,24 +102,24 @@ class Chef end def sync_command - c = scm :update, @new_resource.svn_arguments, verbose, authentication, proxy, "-r#{revision_int}", @new_resource.destination - Chef::Log.debug "#{@new_resource} updated working copy #{@new_resource.destination} to revision #{@new_resource.revision}" + c = scm :update, new_resource.svn_arguments, verbose, authentication, proxy, "-r#{revision_int}", new_resource.destination + Chef::Log.debug "#{new_resource} updated working copy #{new_resource.destination} to revision #{new_resource.revision}" c end def checkout_command - c = scm :checkout, @new_resource.svn_arguments, verbose, authentication, proxy, - "-r#{revision_int}", @new_resource.repository, @new_resource.destination - Chef::Log.info "#{@new_resource} checked out #{@new_resource.repository} at revision #{@new_resource.revision} to #{@new_resource.destination}" + c = scm :checkout, new_resource.svn_arguments, verbose, authentication, proxy, + "-r#{revision_int}", new_resource.repository, new_resource.destination + Chef::Log.info "#{new_resource} checked out #{new_resource.repository} at revision #{new_resource.revision} to #{new_resource.destination}" c end def export_command args = ["--force"] - args << @new_resource.svn_arguments << verbose << authentication << proxy << - "-r#{revision_int}" << @new_resource.repository << @new_resource.destination + args << new_resource.svn_arguments << verbose << authentication << proxy << + "-r#{revision_int}" << new_resource.repository << new_resource.destination c = scm :export, *args - Chef::Log.info "#{@new_resource} exported #{@new_resource.repository} at revision #{@new_resource.revision} to #{@new_resource.destination}" + Chef::Log.info "#{new_resource} exported #{new_resource.repository} at revision #{new_resource.revision} to #{new_resource.destination}" c end @@ -128,10 +128,10 @@ class Chef # If the specified revision is an integer, trust it. def revision_int @revision_int ||= begin - if @new_resource.revision =~ /^\d+$/ - @new_resource.revision + if new_resource.revision =~ /^\d+$/ + new_resource.revision else - command = scm(:info, @new_resource.repository, @new_resource.svn_info_args, authentication, "-r#{@new_resource.revision}") + command = scm(:info, new_resource.repository, new_resource.svn_info_args, authentication, "-r#{new_resource.revision}") svn_info = shell_out!(command, run_options(:cwd => cwd, :returns => [0, 1])).stdout extract_revision_info(svn_info) @@ -142,7 +142,7 @@ class Chef alias :revision_slug :revision_int def find_current_revision - return nil unless ::File.exist?(::File.join(@new_resource.destination, ".svn")) + return nil unless ::File.exist?(::File.join(new_resource.destination, ".svn")) command = scm(:info) svn_info = shell_out!(command, run_options(:cwd => cwd, :returns => [0, 1])).stdout @@ -150,20 +150,20 @@ class Chef end def current_revision_matches_target_revision? - (!@current_resource.revision.nil?) && (revision_int.strip.to_i == @current_resource.revision.strip.to_i) + (!current_resource.revision.nil?) && (revision_int.strip.to_i == current_resource.revision.strip.to_i) end def run_options(run_opts = {}) - run_opts[:user] = @new_resource.user if @new_resource.user - run_opts[:group] = @new_resource.group if @new_resource.group - run_opts[:timeout] = @new_resource.timeout if @new_resource.timeout + run_opts[:user] = new_resource.user if new_resource.user + run_opts[:group] = new_resource.group if new_resource.group + run_opts[:timeout] = new_resource.timeout if new_resource.timeout run_opts end private def cwd - @new_resource.destination + new_resource.destination end def verbose @@ -181,7 +181,7 @@ class Chef rev = (repo_attrs["Last Changed Rev"] || repo_attrs["Revision"]) rev.strip! if rev raise "Could not parse `svn info` data: #{svn_info}" if repo_attrs.empty? - Chef::Log.debug "#{@new_resource} resolved revision #{@new_resource.revision} to #{rev}" + Chef::Log.debug "#{new_resource} resolved revision #{new_resource.revision} to #{rev}" rev end @@ -190,14 +190,14 @@ class Chef # switch, since Capistrano will check for that prompt in the output # and will respond appropriately. def authentication - return "" unless @new_resource.svn_username - result = "--username #{@new_resource.svn_username} " - result << "--password #{@new_resource.svn_password} " + return "" unless new_resource.svn_username + result = "--username #{new_resource.svn_username} " + result << "--password #{new_resource.svn_password} " result end def proxy - repo_uri = URI.parse(@new_resource.repository) + repo_uri = URI.parse(new_resource.repository) proxy_uri = Chef::Config.proxy_uri(repo_uri.scheme, repo_uri.host, repo_uri.port) return "" if proxy_uri.nil? @@ -213,18 +213,18 @@ class Chef end def target_dir_non_existent_or_empty? - !::File.exist?(@new_resource.destination) || Dir.entries(@new_resource.destination).sort == [".", ".."] + !::File.exist?(new_resource.destination) || Dir.entries(new_resource.destination).sort == [".", ".."] end def svn_binary - @new_resource.svn_binary || + new_resource.svn_binary || (Chef::Platform.windows? ? "svn.exe" : "svn") end def assert_target_directory_valid! - target_parent_directory = ::File.dirname(@new_resource.destination) + target_parent_directory = ::File.dirname(new_resource.destination) unless ::File.directory?(target_parent_directory) - msg = "Cannot clone #{@new_resource} to #{@new_resource.destination}, the enclosing directory #{target_parent_directory} does not exist" + msg = "Cannot clone #{new_resource} to #{new_resource.destination}, the enclosing directory #{target_parent_directory} does not exist" raise Chef::Exceptions::MissingParentDirectory, msg end end |