X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/3a4b1c2078cd515e93a5f1bf8967f380fbd1646f..7b4e373a485d44870c2118a7e473f76641a26159:/cookbooks/chef/libraries/subversion.rb?ds=inline diff --git a/cookbooks/chef/libraries/subversion.rb b/cookbooks/chef/libraries/subversion.rb index 50b207ff8..4f2b1cd00 100644 --- a/cookbooks/chef/libraries/subversion.rb +++ b/cookbooks/chef/libraries/subversion.rb @@ -13,24 +13,22 @@ class Chef end def current_repository - @current_repository ||= repo_attrs['URL'] + @current_repository ||= repo_attrs["URL"] end def current_repository_matches_target_repository? - (!current_repository.nil?) && (@new_resource.repository == current_repository) + !current_repository.nil? && (@new_resource.repository == current_repository) end def repo_attrs return {} unless ::File.exist?(::File.join(@new_resource.destination, ".svn")) - @repo_attrs ||= svn_info.lines.inject({}) do |attrs, line| - if line =~ SVN_INFO_PATTERN - property, value = $1, $2 - attrs[property] = value - else - raise "Could not parse `svn info` data: #{line}" - end - attrs + @repo_attrs ||= svn_info.lines.each_with_object({}) do |line, attrs| + raise "Could not parse `svn info` data: #{line}" unless line =~ SVN_INFO_PATTERN + + property = Regexp.last_match[1] + value = Regexp.last_match[2] + attrs[property] = value end end