-require "chef/mixin/command"
+require "chef/mixin/shell_out"
+require "addressable"
require "httpclient"
require "php_serialize"
class Chef
module Wordpress
- extend Chef::Mixin::Command
+ extend Chef::Mixin::ShellOut
@api_responses = {}
@svn_responses = {}
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]*/
+ 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"
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.6")
end
def api_get(url)
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)
+ result = shell_out!("svn", "cat", url)
- @svn_responses[url] = stdout.force_encoding("UTF-8")
+ @svn_responses[url] = result.stdout.force_encoding("UTF-8")
end
@svn_responses[url]