From 325930900b5c12d31c0a55fe4b5e564a186f53fb Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Sat, 23 Apr 2022 10:50:10 +0100 Subject: [PATCH] Use wordpress API to check plugin versions --- cookbooks/wordpress/libraries/wordpress.rb | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/cookbooks/wordpress/libraries/wordpress.rb b/cookbooks/wordpress/libraries/wordpress.rb index 1ea858587..92db4b199 100644 --- a/cookbooks/wordpress/libraries/wordpress.rb +++ b/cookbooks/wordpress/libraries/wordpress.rb @@ -9,7 +9,6 @@ class Chef extend Chef::Mixin::ShellOut @api_responses = {} - @svn_responses = {} class << self def current_version @@ -17,11 +16,7 @@ class Chef end def current_plugin_version(name) - if svn_cat("https://plugins.svn.wordpress.org/#{name}/trunk/readme.txt") =~ /Stable tag:\s*([^\s\r]*)[\s\r]*/ - Regexp.last_match[1] - else - "trunk" - end + plugin_information(name)["version"] end private @@ -30,18 +25,12 @@ class Chef api_get("https://api.wordpress.org/core/version-check/1.7") end - def api_get(url) - @api_responses[url] ||= ::JSON.parse(::HTTPClient.new.get_content(url)) + def plugin_information(name) + api_get("https://api.wordpress.org/plugins/info/1.2/?action=plugin_information&request[slug]=#{name}") end - def svn_cat(url) - unless @svn_responses[url] - result = shell_out!("svn", "cat", url) - - @svn_responses[url] = result.stdout.force_encoding("UTF-8") - end - - @svn_responses[url] + def api_get(url) + @api_responses[url] ||= ::JSON.parse(::HTTPClient.new.get_content(url)) end end end -- 2.39.5