wordpress_tools 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.ruby-version +1 -0
- data/.travis.yml +4 -0
- data/Gemfile.lock +13 -11
- data/LICENSE +2 -2
- data/README.md +13 -1
- data/Rakefile +5 -0
- data/lib/wordpress_tools/cli.rb +5 -53
- data/lib/wordpress_tools/cli_helper.rb +21 -9
- data/lib/wordpress_tools/version.rb +1 -1
- data/lib/wordpress_tools/wordpress_cli.rb +76 -0
- data/spec/cli_helper_spec.rb +44 -37
- data/spec/cli_spec.rb +15 -33
- data/spec/spec_helper.rb +15 -24
- data/{wordless.gemspec → wordpress_tools.gemspec} +10 -9
- metadata +49 -23
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3c7a019519ee5592c3482dc69dfcf6786fdb1016
|
4
|
+
data.tar.gz: 2ed984042fe8f127177e51c3ab74b99ab500aa64
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 56d361c0f8545a6e46552442aef4bef6109e2c0b3b52f3c004977aca6987f980bf092d1a933ffe75115203ef53575a99a092417d2cb2370259df45d050b7d9c2
|
7
|
+
data.tar.gz: 540e7784b4f7427fc20241d85158bd5ef5c5d07c0bc30837d2d0a76a9b53bc7eb5852f52120a2ebc3e600cebf3deb20d6a16684f0bf66bf56f87a97d668a0cfd
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.0.0-p247
|
data/.travis.yml
ADDED
data/Gemfile.lock
CHANGED
@@ -1,23 +1,25 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
wordpress_tools (0.0.
|
4
|
+
wordpress_tools (0.0.2)
|
5
|
+
rake
|
5
6
|
thor
|
6
7
|
|
7
8
|
GEM
|
8
9
|
remote: https://rubygems.org/
|
9
10
|
specs:
|
10
|
-
diff-lcs (1.
|
11
|
+
diff-lcs (1.2.4)
|
11
12
|
fakeweb (1.3.0)
|
12
|
-
|
13
|
-
|
14
|
-
rspec-
|
15
|
-
rspec-
|
16
|
-
|
17
|
-
rspec-
|
18
|
-
|
19
|
-
|
20
|
-
|
13
|
+
rake (10.1.0)
|
14
|
+
rspec (2.14.1)
|
15
|
+
rspec-core (~> 2.14.0)
|
16
|
+
rspec-expectations (~> 2.14.0)
|
17
|
+
rspec-mocks (~> 2.14.0)
|
18
|
+
rspec-core (2.14.5)
|
19
|
+
rspec-expectations (2.14.2)
|
20
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
21
|
+
rspec-mocks (2.14.3)
|
22
|
+
thor (0.18.1)
|
21
23
|
|
22
24
|
PLATFORMS
|
23
25
|
ruby
|
data/LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c)
|
1
|
+
Copyright (c) 2013 weLaika
|
2
2
|
|
3
3
|
MIT License
|
4
4
|
|
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
19
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
20
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
21
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -20,7 +20,7 @@ Get some help:
|
|
20
20
|
## Caveats
|
21
21
|
|
22
22
|
- If you attempt to download a WordPress localization that's outdated, the latest English version will be downloaded instead.
|
23
|
-
-
|
23
|
+
- Not tested on Windows.
|
24
24
|
|
25
25
|
## Contributing
|
26
26
|
|
@@ -30,3 +30,15 @@ Get some help:
|
|
30
30
|
4. Commit your changes (`git commit -am 'Added some feature'`)
|
31
31
|
5. Push to the branch (`git push origin my-new-feature`)
|
32
32
|
6. Create new Pull Request
|
33
|
+
|
34
|
+
## License
|
35
|
+
|
36
|
+
(The MIT License)
|
37
|
+
|
38
|
+
Copyright © 2013 weLaika
|
39
|
+
|
40
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
41
|
+
|
42
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
43
|
+
|
44
|
+
THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
CHANGED
data/lib/wordpress_tools/cli.rb
CHANGED
@@ -1,65 +1,17 @@
|
|
1
1
|
require 'thor'
|
2
|
-
|
3
|
-
require 'net/http'
|
4
|
-
require 'rbconfig'
|
5
|
-
require 'tempfile'
|
6
|
-
require 'wordpress_tools/cli_helper'
|
2
|
+
require 'wordpress_tools/wordpress_cli'
|
7
3
|
|
8
4
|
module WordPressTools
|
9
5
|
class CLI < Thor
|
10
6
|
include Thor::Actions
|
11
|
-
|
12
|
-
|
13
|
-
@@lib_dir = File.expand_path(File.dirname(__FILE__))
|
14
|
-
|
7
|
+
|
15
8
|
desc "new [DIR_NAME]", "download the latest stable version of WordPress in a new directory with specified name (default is wordpress)"
|
16
9
|
method_option :locale, :aliases => "-l", :desc => "WordPress locale (default is en_US)"
|
17
10
|
method_option :bare, :aliases => "-b", :desc => "Remove default themes and plugins"
|
18
|
-
def new(dir_name = 'wordpress')
|
19
|
-
download_url, version, locale = Net::HTTP.get('api.wordpress.org', "/core/version-check/1.5/?locale=#{options[:locale]}").split[2,3]
|
20
|
-
downloaded_file = Tempfile.new('wordpress')
|
21
|
-
begin
|
22
|
-
puts "Downloading WordPress #{version} (#{locale})..."
|
23
11
|
|
24
|
-
|
25
|
-
|
26
|
-
return
|
27
|
-
end
|
28
|
-
|
29
|
-
unless unzip(downloaded_file.path, dir_name)
|
30
|
-
error "Couldn't unzip WordPress."
|
31
|
-
return
|
32
|
-
end
|
33
|
-
|
34
|
-
subdirectory = Dir["#{dir_name}/*/"].first # This is probably 'wordpress', but don't assume
|
35
|
-
FileUtils.mv Dir["#{subdirectory}*"], dir_name # Remove unnecessary directory level
|
36
|
-
Dir.delete subdirectory
|
37
|
-
ensure
|
38
|
-
downloaded_file.close
|
39
|
-
downloaded_file.unlink
|
40
|
-
end
|
41
|
-
|
42
|
-
success %Q{Installed WordPress in directory "#{dir_name}".}
|
43
|
-
|
44
|
-
if options[:bare]
|
45
|
-
dirs = %w(themes plugins).map {|d| "#{dir_name}/wp-content/#{d}"}
|
46
|
-
FileUtils.rm_rf dirs
|
47
|
-
FileUtils.mkdir dirs
|
48
|
-
dirs.each do |dir|
|
49
|
-
FileUtils.cp "#{dir_name}/wp-content/index.php", dir
|
50
|
-
end
|
51
|
-
success "Removed default themes and plugins."
|
52
|
-
end
|
53
|
-
|
54
|
-
if git_installed?
|
55
|
-
if run "cd #{dir_name} && git init", :verbose => false, :capture => true
|
56
|
-
success "Initialized git repository."
|
57
|
-
else
|
58
|
-
error "Couldn't initialize git repository."
|
59
|
-
end
|
60
|
-
else
|
61
|
-
warning "Didn't initialize git repository because git isn't installed."
|
62
|
-
end
|
12
|
+
def new(dir_name = 'wordpress')
|
13
|
+
WordPressCLI.new(options, dir_name, self).download!
|
63
14
|
end
|
64
15
|
end
|
65
16
|
end
|
17
|
+
|
@@ -2,18 +2,23 @@ require 'open-uri'
|
|
2
2
|
|
3
3
|
module WordPressTools
|
4
4
|
module CLIHelper
|
5
|
+
def info(message)
|
6
|
+
log_message message
|
7
|
+
end
|
8
|
+
|
5
9
|
def error(message)
|
6
|
-
|
10
|
+
log_message message, :red
|
11
|
+
exit
|
7
12
|
end
|
8
13
|
|
9
14
|
def success(message)
|
10
|
-
|
15
|
+
log_message message, :green
|
11
16
|
end
|
12
17
|
|
13
18
|
def warning(message)
|
14
|
-
|
19
|
+
log_message message, :yellow
|
15
20
|
end
|
16
|
-
|
21
|
+
|
17
22
|
def download(url, destination)
|
18
23
|
begin
|
19
24
|
f = open(destination, "wb")
|
@@ -26,7 +31,7 @@ module WordPressTools
|
|
26
31
|
end
|
27
32
|
|
28
33
|
def unzip(file, destination)
|
29
|
-
|
34
|
+
run_command "unzip #{file} -d #{destination}"
|
30
35
|
end
|
31
36
|
|
32
37
|
def git_installed?
|
@@ -34,9 +39,16 @@ module WordPressTools
|
|
34
39
|
void = RbConfig::CONFIG['host_os'] =~ /msdos|mswin|djgpp|mingw/ ? 'NUL' : '/dev/null'
|
35
40
|
system "git --version >>#{void} 2>&1"
|
36
41
|
end
|
37
|
-
|
38
|
-
|
39
|
-
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def log_message(message, color = nil)
|
46
|
+
say message, color
|
47
|
+
end
|
48
|
+
|
49
|
+
def run_command(command)
|
50
|
+
run command, verbose: false, capture: true
|
40
51
|
end
|
52
|
+
|
41
53
|
end
|
42
|
-
end
|
54
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'tempfile'
|
2
|
+
require 'net/http'
|
3
|
+
require 'wordpress_tools/cli_helper'
|
4
|
+
|
5
|
+
module WordPressTools
|
6
|
+
class WordPressCLI
|
7
|
+
include WordPressTools::CLIHelper
|
8
|
+
attr_reader :options, :dir_name, :thor
|
9
|
+
|
10
|
+
[ :say, :run ].each do |sym|
|
11
|
+
define_method sym do |*args|
|
12
|
+
thor.send(sym, *args)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def initialize(options = {}, dir_name = 'wordpress', thor = nil)
|
17
|
+
@options = options
|
18
|
+
@dir_name = dir_name
|
19
|
+
@thor = thor
|
20
|
+
end
|
21
|
+
|
22
|
+
def download!
|
23
|
+
download_wordpress
|
24
|
+
configure_bare_install
|
25
|
+
initialize_git_repo
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def tempfile
|
31
|
+
@tempfile ||= Tempfile.new('wordpress')
|
32
|
+
end
|
33
|
+
|
34
|
+
def download_wordpress
|
35
|
+
download_url, version, locale = Net::HTTP.get('api.wordpress.org', "/core/version-check/1.5/?locale=#{options[:locale]}").split[2,3]
|
36
|
+
|
37
|
+
info "Downloading WordPress #{version} (#{locale})..."
|
38
|
+
download(download_url, tempfile.path) || error("Could not download WordPress.")
|
39
|
+
unzip(tempfile.path, dir_name) || error("Could not unzip WordPress.")
|
40
|
+
remove_nested_subdirectory
|
41
|
+
|
42
|
+
success %Q{Installed WordPress in directory "#{dir_name}".}
|
43
|
+
end
|
44
|
+
|
45
|
+
def remove_nested_subdirectory
|
46
|
+
subdirectory = Dir["#{dir_name}/*/"].first # This is probably 'wordpress', but don't assume
|
47
|
+
FileUtils.mv Dir["#{subdirectory}*"], dir_name # Remove unnecessary directory level
|
48
|
+
Dir.delete subdirectory
|
49
|
+
end
|
50
|
+
|
51
|
+
def configure_bare_install
|
52
|
+
if options[:bare]
|
53
|
+
dirs = %w(themes plugins).map {|d| "#{dir_name}/wp-content/#{d}"}
|
54
|
+
FileUtils.rm_rf dirs
|
55
|
+
FileUtils.mkdir dirs
|
56
|
+
dirs.each do |dir|
|
57
|
+
FileUtils.cp "#{dir_name}/wp-content/index.php", dir
|
58
|
+
end
|
59
|
+
success "Removed default themes and plugins."
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def initialize_git_repo
|
64
|
+
if git_installed?
|
65
|
+
if run_command "cd #{dir_name} && git init"
|
66
|
+
success "Initialized git repository."
|
67
|
+
else
|
68
|
+
error "Could not initialize git repository."
|
69
|
+
end
|
70
|
+
else
|
71
|
+
warning "Could not find git installation."
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
end
|
data/spec/cli_helper_spec.rb
CHANGED
@@ -1,68 +1,75 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe WordPressTools::CLIHelper do
|
4
|
-
|
5
|
-
|
6
|
-
# end
|
7
|
-
|
8
|
-
before :each do
|
9
|
-
@cli = WordPressTools::CLI.new
|
10
|
-
end
|
11
|
-
|
4
|
+
let(:cli) { WordPressTools::WordPressCLI.new }
|
5
|
+
|
12
6
|
context "::download" do
|
7
|
+
let(:valid_url) { "http://www.example.com/test" }
|
8
|
+
let(:tempfile) { Tempfile.new("download_test") }
|
9
|
+
|
13
10
|
before(:each) do
|
14
|
-
|
15
|
-
@valid_url = "http://www.example.com/test"
|
16
|
-
FakeWeb.register_uri(:get, @valid_url, :body => "Download test")
|
11
|
+
FakeWeb.register_uri(:get, valid_url, :body => "Download test")
|
17
12
|
end
|
18
|
-
|
13
|
+
|
19
14
|
it "downloads a file to the specified location" do
|
20
|
-
|
21
|
-
open(
|
15
|
+
cli.download(valid_url, tempfile.path)
|
16
|
+
open(tempfile.path).read.should eq("Download test")
|
22
17
|
end
|
23
|
-
|
18
|
+
|
24
19
|
it "returns true on success" do
|
25
|
-
|
20
|
+
cli.download(valid_url, tempfile.path).should eq true
|
26
21
|
end
|
27
|
-
|
22
|
+
|
28
23
|
it "returns false on failure" do
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
after(:each) do
|
33
|
-
@tempfile.close!
|
24
|
+
cli.download("http://an.invalid.url", tempfile.path).should eq false
|
34
25
|
end
|
35
26
|
end
|
36
|
-
|
27
|
+
|
37
28
|
context "::unzip" do
|
29
|
+
let(:path) { File.expand_path('spec/fixtures/zipped_file.zip') }
|
30
|
+
let(:destination) { "tmp/unzip" }
|
31
|
+
|
38
32
|
it "unzips a file" do
|
39
|
-
|
40
|
-
|
33
|
+
cli.should_receive(:run_command).with("unzip #{path} -d #{destination}")
|
34
|
+
cli.unzip(path, destination)
|
41
35
|
end
|
42
|
-
|
43
|
-
|
44
|
-
|
36
|
+
end
|
37
|
+
|
38
|
+
context "::info" do
|
39
|
+
let(:message) { "I am an info" }
|
40
|
+
|
41
|
+
it "displays an info" do
|
42
|
+
cli.should_receive(:log_message).with(message)
|
43
|
+
cli.info(message)
|
45
44
|
end
|
46
45
|
end
|
47
|
-
|
46
|
+
|
48
47
|
context "::error" do
|
48
|
+
let(:message) { "I am an error" }
|
49
|
+
|
49
50
|
it "displays an error" do
|
50
|
-
|
51
|
-
|
51
|
+
cli.should_receive(:log_message).with(message, :red)
|
52
|
+
cli.should_receive(:exit)
|
53
|
+
cli.error(message)
|
52
54
|
end
|
53
55
|
end
|
54
|
-
|
56
|
+
|
55
57
|
context "::success" do
|
58
|
+
let(:message) { "I am a success message" }
|
59
|
+
|
56
60
|
it "displays a success message" do
|
57
|
-
|
58
|
-
|
61
|
+
cli.should_receive(:log_message).with(message, :green)
|
62
|
+
cli.success(message)
|
59
63
|
end
|
60
64
|
end
|
61
65
|
|
62
66
|
context "::warning" do
|
67
|
+
let(:message) { "I am a warning" }
|
68
|
+
|
63
69
|
it "displays a warning" do
|
64
|
-
|
65
|
-
|
70
|
+
cli.should_receive(:log_message).with(message, :yellow)
|
71
|
+
cli.warning(message)
|
66
72
|
end
|
67
73
|
end
|
68
|
-
end
|
74
|
+
end
|
75
|
+
|
data/spec/cli_spec.rb
CHANGED
@@ -1,47 +1,35 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe WordPressTools::CLI do
|
4
|
-
before
|
4
|
+
before do
|
5
5
|
@original_wd = Dir.pwd
|
6
|
-
wp_api_response = <<-eof
|
7
|
-
upgrade
|
8
|
-
http://wordpress.org/download/
|
9
|
-
http://wordpress.org/wordpress-3.3.1.zip
|
10
|
-
3.3.1
|
11
|
-
en_US
|
12
|
-
5.2.4
|
13
|
-
5.0
|
14
|
-
eof
|
15
|
-
FakeWeb.register_uri(:get, %r|http://api.wordpress.org/core/version-check/1.5/.*|, :body => wp_api_response)
|
16
|
-
FakeWeb.register_uri(:get, "http://wordpress.org/wordpress-3.3.1.zip", :body => File.expand_path('spec/fixtures/wordpress_stub.zip'))
|
17
6
|
Dir.chdir('tmp')
|
18
7
|
end
|
19
|
-
|
8
|
+
|
9
|
+
after do
|
10
|
+
Dir.chdir(@original_wd)
|
11
|
+
Dir["tmp/*"].each do |dir|
|
12
|
+
FileUtils.rm_rf(dir) if File.directory? dir
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
20
16
|
context "#new" do
|
21
17
|
context "with no arguments" do
|
22
|
-
it "downloads a
|
18
|
+
it "downloads WordPress and initializes a git repo" do
|
23
19
|
WordPressTools::CLI.start ['new']
|
24
20
|
File.exists?('wordpress/wp-content/index.php').should eq true
|
25
|
-
end
|
26
|
-
|
27
|
-
it "initializes a git repository" do
|
28
|
-
WordPressTools::CLI.start ['new']
|
29
|
-
File.directory?('wordpress/.git').should eq true
|
30
|
-
end
|
31
|
-
|
32
|
-
it "doesn't leave a stray 'wordpress' directory" do
|
33
|
-
WordPressTools::CLI.start ['new']
|
34
21
|
File.directory?('wordpress/wordpress').should eq false
|
22
|
+
File.directory?('wordpress/.git').should eq true
|
35
23
|
end
|
36
24
|
end
|
37
|
-
|
25
|
+
|
38
26
|
context "with a custom directory name" do
|
39
27
|
it "downloads a copy of WordPress in directory 'myapp'" do
|
40
28
|
WordPressTools::CLI.start ['new', 'myapp']
|
41
29
|
File.exists?('myapp/wp-content/index.php').should eq true
|
42
30
|
end
|
43
31
|
end
|
44
|
-
|
32
|
+
|
45
33
|
context "with the 'bare' option" do
|
46
34
|
it "downloads a copy of WordPress and removes default plugins and themes" do
|
47
35
|
WordPressTools::CLI.start ['new', '--bare']
|
@@ -49,11 +37,5 @@ describe WordPressTools::CLI do
|
|
49
37
|
end
|
50
38
|
end
|
51
39
|
end
|
52
|
-
|
53
|
-
|
54
|
-
Dir.chdir(@original_wd)
|
55
|
-
%w(tmp/wordpress tmp/myapp).each do |dir|
|
56
|
-
FileUtils.rm_rf(dir) if File.directory? dir
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
40
|
+
end
|
41
|
+
|
data/spec/spec_helper.rb
CHANGED
@@ -2,33 +2,23 @@ require 'wordpress_tools/cli'
|
|
2
2
|
require 'fakeweb'
|
3
3
|
require 'thor'
|
4
4
|
|
5
|
-
# Set shell to basic
|
6
|
-
# $0 = "thor"
|
7
|
-
# $thor_runner = true
|
8
|
-
# ARGV.clear
|
9
|
-
# Thor::Base.shell = Thor::Shell::Basic
|
10
|
-
|
11
5
|
RSpec.configure do |config|
|
12
|
-
FakeWeb.allow_net_connect = false
|
13
|
-
|
14
6
|
$stdout = StringIO.new
|
15
|
-
|
16
|
-
# Stub Wordless::CLI#wordless_repo to avoid hitting the network when testing Wordless installation
|
17
|
-
# FIXME - Need to be able to selectively stub this
|
18
|
-
# config.before(:each, :stub_wordless_install => true) do
|
19
|
-
# module Wordless
|
20
|
-
# class CLI
|
21
|
-
# no_tasks do
|
22
|
-
# def wordless_repo
|
23
|
-
# File.expand_path(File.join(File.dirname(__FILE__), 'fixtures', 'wordless_stub'))
|
24
|
-
# end
|
25
|
-
# end
|
26
|
-
# end
|
27
|
-
# end
|
28
|
-
# end
|
29
|
-
|
30
7
|
FileUtils.mkdir('tmp') unless File.directory? 'tmp'
|
31
|
-
|
8
|
+
|
9
|
+
FakeWeb.allow_net_connect = false
|
10
|
+
WP_API_RESPONSE = <<-eof
|
11
|
+
upgrade
|
12
|
+
http://wordpress.org/download/
|
13
|
+
http://wordpress.org/wordpress-3.6.zip
|
14
|
+
3.6
|
15
|
+
en_US
|
16
|
+
5.2.4
|
17
|
+
5.0
|
18
|
+
eof
|
19
|
+
FakeWeb.register_uri(:get, %r|http://api.wordpress.org/core/version-check/1.5/.*|, :body => WP_API_RESPONSE)
|
20
|
+
FakeWeb.register_uri(:get, "http://wordpress.org/wordpress-3.6.zip", :body => File.expand_path('spec/fixtures/wordpress_stub.zip'))
|
21
|
+
|
32
22
|
def capture(stream)
|
33
23
|
begin
|
34
24
|
stream = stream.to_s
|
@@ -41,3 +31,4 @@ RSpec.configure do |config|
|
|
41
31
|
result
|
42
32
|
end
|
43
33
|
end
|
34
|
+
|
@@ -2,21 +2,22 @@
|
|
2
2
|
require File.expand_path('../lib/wordpress_tools/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
-
gem.authors = ["Étienne Després"]
|
6
|
-
gem.email = ["etienne@molotov.ca"]
|
5
|
+
gem.authors = ["Étienne Després", "Ju Liu"]
|
6
|
+
gem.email = ["etienne@molotov.ca", "ju.liu@welaika.com"]
|
7
7
|
gem.description = %q{Command line tool to manage WordPress installations.}
|
8
8
|
gem.summary = %q{Manage WordPress installations.}
|
9
|
-
gem.homepage = "http://github.com/
|
10
|
-
|
11
|
-
gem.add_dependency "thor"
|
12
|
-
|
13
|
-
gem.add_development_dependency 'rspec'
|
14
|
-
gem.add_development_dependency 'fakeweb'
|
15
|
-
|
9
|
+
gem.homepage = "http://github.com/welaika/wordpress_tools"
|
10
|
+
|
16
11
|
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
12
|
gem.files = `git ls-files`.split("\n")
|
18
13
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
14
|
gem.name = "wordpress_tools"
|
20
15
|
gem.require_paths = ["lib"]
|
21
16
|
gem.version = WordPressTools::VERSION
|
17
|
+
|
18
|
+
gem.add_dependency "rake"
|
19
|
+
gem.add_dependency "thor"
|
20
|
+
|
21
|
+
gem.add_development_dependency 'rspec'
|
22
|
+
gem.add_development_dependency 'fakeweb'
|
22
23
|
end
|
metadata
CHANGED
@@ -1,52 +1,76 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wordpress_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Étienne Després
|
8
|
+
- Ju Liu
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-08-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - '>='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
14
28
|
- !ruby/object:Gem::Dependency
|
15
29
|
name: thor
|
16
|
-
requirement:
|
17
|
-
none: false
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
18
31
|
requirements:
|
19
|
-
- -
|
32
|
+
- - '>='
|
20
33
|
- !ruby/object:Gem::Version
|
21
34
|
version: '0'
|
22
35
|
type: :runtime
|
23
36
|
prerelease: false
|
24
|
-
version_requirements:
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
25
42
|
- !ruby/object:Gem::Dependency
|
26
43
|
name: rspec
|
27
|
-
requirement:
|
28
|
-
none: false
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
29
45
|
requirements:
|
30
|
-
- -
|
46
|
+
- - '>='
|
31
47
|
- !ruby/object:Gem::Version
|
32
48
|
version: '0'
|
33
49
|
type: :development
|
34
50
|
prerelease: false
|
35
|
-
version_requirements:
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
36
56
|
- !ruby/object:Gem::Dependency
|
37
57
|
name: fakeweb
|
38
|
-
requirement:
|
39
|
-
none: false
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
40
59
|
requirements:
|
41
|
-
- -
|
60
|
+
- - '>='
|
42
61
|
- !ruby/object:Gem::Version
|
43
62
|
version: '0'
|
44
63
|
type: :development
|
45
64
|
prerelease: false
|
46
|
-
version_requirements:
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
47
70
|
description: Command line tool to manage WordPress installations.
|
48
71
|
email:
|
49
72
|
- etienne@molotov.ca
|
73
|
+
- ju.liu@welaika.com
|
50
74
|
executables:
|
51
75
|
- wordpress
|
52
76
|
extensions: []
|
@@ -54,6 +78,8 @@ extra_rdoc_files: []
|
|
54
78
|
files:
|
55
79
|
- .gitignore
|
56
80
|
- .rspec
|
81
|
+
- .ruby-version
|
82
|
+
- .travis.yml
|
57
83
|
- Gemfile
|
58
84
|
- Gemfile.lock
|
59
85
|
- LICENSE
|
@@ -64,35 +90,35 @@ files:
|
|
64
90
|
- lib/wordpress_tools/cli.rb
|
65
91
|
- lib/wordpress_tools/cli_helper.rb
|
66
92
|
- lib/wordpress_tools/version.rb
|
93
|
+
- lib/wordpress_tools/wordpress_cli.rb
|
67
94
|
- spec/cli_helper_spec.rb
|
68
95
|
- spec/cli_spec.rb
|
69
96
|
- spec/fixtures/wordpress_stub.zip
|
70
97
|
- spec/fixtures/zipped_file.zip
|
71
98
|
- spec/spec_helper.rb
|
72
|
-
-
|
73
|
-
homepage: http://github.com/
|
99
|
+
- wordpress_tools.gemspec
|
100
|
+
homepage: http://github.com/welaika/wordpress_tools
|
74
101
|
licenses: []
|
102
|
+
metadata: {}
|
75
103
|
post_install_message:
|
76
104
|
rdoc_options: []
|
77
105
|
require_paths:
|
78
106
|
- lib
|
79
107
|
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
-
none: false
|
81
108
|
requirements:
|
82
|
-
- -
|
109
|
+
- - '>='
|
83
110
|
- !ruby/object:Gem::Version
|
84
111
|
version: '0'
|
85
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
|
-
none: false
|
87
113
|
requirements:
|
88
|
-
- -
|
114
|
+
- - '>='
|
89
115
|
- !ruby/object:Gem::Version
|
90
116
|
version: '0'
|
91
117
|
requirements: []
|
92
118
|
rubyforge_project:
|
93
|
-
rubygems_version:
|
119
|
+
rubygems_version: 2.0.3
|
94
120
|
signing_key:
|
95
|
-
specification_version:
|
121
|
+
specification_version: 4
|
96
122
|
summary: Manage WordPress installations.
|
97
123
|
test_files:
|
98
124
|
- spec/cli_helper_spec.rb
|