]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/wordpress/libraries/wordpress.rb
Use chef image clone to ghcr to workaround docker hub limits
[chef.git] / cookbooks / wordpress / libraries / wordpress.rb
index a381ecfff4446fa0331646268ee6d1f82f4104ab..73a0a5467b566e26fdd27d1593c5fd2d09d8875f 100644 (file)
@@ -1,11 +1,9 @@
-require "chef/mixin/command"
+require "json"
+require "net/http"
 
 class Chef
   module Wordpress
 
 class Chef
   module Wordpress
-    extend Chef::Mixin::Command
-
     @api_responses = {}
     @api_responses = {}
-    @svn_responses = {}
 
     class << self
       def current_version
 
     class << self
       def current_version
@@ -13,32 +11,21 @@ class Chef
       end
 
       def current_plugin_version(name)
       end
 
       def current_plugin_version(name)
-        if svn_cat("http://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
 
       def core_version_check
       end
 
       private
 
       def core_version_check
-        api_get("http://api.wordpress.org/core/version-check/1.6")
+        api_get("https://api.wordpress.org/core/version-check/1.7/")
       end
 
       end
 
-      def api_get(url)
-        @api_responses[url] ||= ::PHP.unserialize(::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
 
       end
 
-      def svn_cat(url)
-        unless @svn_responses[url]
-          status, stdout, stderr = output_of_command("svn cat #{url}", {})
-          handle_command_failures(status, "STDOUT: #{stdout}\nSTDERR: #{stderr}", :output_on_failure => true)
-
-          @svn_responses[url] = stdout.force_encoding("UTF-8")
-        end
-
-        @svn_responses[url]
+      def api_get(url)
+        @api_responses[url] ||= ::JSON.parse(Net::HTTP.get(URI(url)))
       end
     end
   end
       end
     end
   end