wordpress-deploy 1.0.0.rc6 → 1.0.0.rc7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
- data/.travis.yml +1 -1
- data/lib/wordpress_deploy.rb +2 -1
- data/lib/wordpress_deploy/database/mysql.rb +27 -16
- data/lib/wordpress_deploy/database/option_file.rb +40 -0
- data/lib/wordpress_deploy/version.rb +1 -1
- data/spec/wordpress_deploy/database/mysql_spec.rb +1 -1
- data/spec/wordpress_deploy/database/option_file_spec.rb +68 -0
- data/templates/mysql-opts.erb +6 -0
- data/templates/mysqldump-opts.erb +6 -0
- data/wordpress_deploy.gemspec +11 -10
- metadata +36 -15
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/lib/wordpress_deploy.rb
CHANGED
@@ -60,7 +60,8 @@ module WordpressDeploy
|
|
60
60
|
end
|
61
61
|
|
62
62
|
module Database
|
63
|
-
autoload :MySql,
|
63
|
+
autoload :MySql, File.join(DATABASE_PATH, 'mysql')
|
64
|
+
autoload :OptionFile, File.join(DATABASE_PATH, 'option_file')
|
64
65
|
end
|
65
66
|
|
66
67
|
%w{version logger errors config environments environment}.each do |klass|
|
@@ -10,13 +10,13 @@ module WordpressDeploy
|
|
10
10
|
include WordpressDeploy::Cli::Helpers
|
11
11
|
|
12
12
|
def initialize
|
13
|
-
@user ||=
|
14
|
-
@password ||=
|
13
|
+
@user ||= 'root'
|
14
|
+
@password ||= ''
|
15
15
|
|
16
|
-
@host ||=
|
16
|
+
@host ||= 'localhost'
|
17
17
|
@port ||= 3306
|
18
|
-
@socket ||=
|
19
|
-
@name ||=
|
18
|
+
@socket ||= ''
|
19
|
+
@name ||= 'wordpress'
|
20
20
|
|
21
21
|
@has_port ||= true
|
22
22
|
@has_socket ||= false
|
@@ -174,7 +174,7 @@ module WordpressDeploy
|
|
174
174
|
# the CREATE DATABASE and USE commands to make sense for
|
175
175
|
# the 'to' configuration
|
176
176
|
sql_dump = File.read(file)
|
177
|
-
sql_dump.gsub!(/^CREATE\ DATABASE.*$/i,
|
177
|
+
sql_dump.gsub!(/^CREATE\ DATABASE.*$/i, '')
|
178
178
|
sql_dump.gsub!(/^USE\ `#{name}`/, "USE `#{to_db.name}`")
|
179
179
|
tmp_file.puts sql_dump
|
180
180
|
|
@@ -297,19 +297,30 @@ module WordpressDeploy
|
|
297
297
|
private
|
298
298
|
|
299
299
|
def mysqldump
|
300
|
-
|
301
|
-
|
300
|
+
options_file = OptionFile.new(
|
301
|
+
user,
|
302
|
+
password,
|
303
|
+
host,
|
304
|
+
port,
|
305
|
+
name,
|
306
|
+
:mysqldump
|
307
|
+
)
|
308
|
+
arguments = "--defaults-file=#{options_file.path} --databases #{name}"
|
309
|
+
"#{utility('mysqldump')} #{arguments}"
|
302
310
|
end
|
303
311
|
|
304
312
|
def mysqlload(database, file_name)
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
+
options_file = OptionFile.new(
|
314
|
+
database.user,
|
315
|
+
database.password,
|
316
|
+
database.host,
|
317
|
+
database.port,
|
318
|
+
database.name,
|
319
|
+
:mysql
|
320
|
+
)
|
321
|
+
arguments = "--defaults-file=#{options_file.path}"
|
322
|
+
|
323
|
+
"#{utility('mysql')} #{arguments} < #{file_name}"
|
313
324
|
end
|
314
325
|
|
315
326
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'erb'
|
2
|
+
require 'tempfile'
|
3
|
+
|
4
|
+
module WordpressDeploy
|
5
|
+
module Database
|
6
|
+
class OptionFile
|
7
|
+
##
|
8
|
+
# Create a MySQL option file
|
9
|
+
def initialize(
|
10
|
+
user,
|
11
|
+
password,
|
12
|
+
host,
|
13
|
+
port,
|
14
|
+
database,
|
15
|
+
type = :mysql
|
16
|
+
)
|
17
|
+
@user = user
|
18
|
+
@password = password
|
19
|
+
@host = host
|
20
|
+
@port = port
|
21
|
+
@database = database
|
22
|
+
|
23
|
+
@template = if type == :mysql
|
24
|
+
ERB.new(File.read(File.join(WordpressDeploy::TEMPLATE_PATH, 'mysql-opts.erb')))
|
25
|
+
else
|
26
|
+
ERB.new(File.read(File.join(WordpressDeploy::TEMPLATE_PATH, 'mysqldump-opts.erb')))
|
27
|
+
end
|
28
|
+
@option_file = Tempfile.new(%w(mysql-opts .conf))
|
29
|
+
@option_file.write(@template.result(binding))
|
30
|
+
@option_file.flush
|
31
|
+
end
|
32
|
+
|
33
|
+
##
|
34
|
+
#
|
35
|
+
def path
|
36
|
+
@option_file.path
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -121,7 +121,7 @@ describe MySql do
|
|
121
121
|
before(:each) do
|
122
122
|
@mysql = WordpressDeploy::Environments.production.database
|
123
123
|
@mysql.should_receive(:utility).with("mysqldump").and_return(mysqldump)
|
124
|
-
@mysql.should_receive(:run).
|
124
|
+
@mysql.should_receive(:run).and_return("STDOUT from run")
|
125
125
|
end
|
126
126
|
|
127
127
|
it "should call the mysqldump command with the correct arguments" do
|
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
include WordpressDeploy::Database
|
4
|
+
|
5
|
+
describe WordpressDeploy::Database::OptionFile do
|
6
|
+
let(:user) { 'ryan' }
|
7
|
+
let(:password) { 'password with spaces' }
|
8
|
+
let(:hostname) { 'localhost' }
|
9
|
+
let(:port) { 3306 }
|
10
|
+
let(:database) { 'db' }
|
11
|
+
|
12
|
+
let(:mysql_option_file) do
|
13
|
+
OptionFile.new(
|
14
|
+
user,
|
15
|
+
password,
|
16
|
+
hostname,
|
17
|
+
port,
|
18
|
+
database,
|
19
|
+
:mysql
|
20
|
+
)
|
21
|
+
end
|
22
|
+
let(:mysqldump_option_file) do
|
23
|
+
OptionFile.new(
|
24
|
+
user,
|
25
|
+
password,
|
26
|
+
hostname,
|
27
|
+
port,
|
28
|
+
database,
|
29
|
+
:mysqldump
|
30
|
+
)
|
31
|
+
end
|
32
|
+
let(:mysql_contents) do
|
33
|
+
f = File.open(mysql_option_file.path)
|
34
|
+
f.read
|
35
|
+
end
|
36
|
+
let(:mysqldump_contents) do
|
37
|
+
f = File.open(mysqldump_option_file.path)
|
38
|
+
f.read
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'mysql' do
|
42
|
+
it { File.exists?(mysql_option_file.path).should be_true }
|
43
|
+
it 'should have correct values' do
|
44
|
+
mysql_contents.should eq <<-EOS
|
45
|
+
[client]
|
46
|
+
user=#{user}
|
47
|
+
password=#{password}
|
48
|
+
host=#{hostname}
|
49
|
+
port=#{port}
|
50
|
+
database=#{database}
|
51
|
+
EOS
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'mysqldump' do
|
56
|
+
it { File.exists?(mysqldump_option_file.path).should be_true }
|
57
|
+
it 'should have correct values' do
|
58
|
+
mysqldump_contents.should eq <<-EOS
|
59
|
+
[client]
|
60
|
+
user=#{user}
|
61
|
+
password=#{password}
|
62
|
+
host=#{hostname}
|
63
|
+
port=#{port}
|
64
|
+
set-gtid-purged=off
|
65
|
+
EOS
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
data/wordpress_deploy.gemspec
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
require File.expand_path('../lib/wordpress_deploy/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
-
gem.authors = [
|
6
|
-
gem.email = [
|
5
|
+
gem.authors = ['Ryan Lovelett']
|
6
|
+
gem.email = ['ryan@lovelett.me']
|
7
7
|
gem.description = %q{Wordpress Deploy provides an elegant DSL in Ruby for modeling and executing your deployments.}
|
8
8
|
gem.summary = %q{Wordpress Deploy is a RubyGem, written for Linux and Mac OSX, that allows you to easily perform Wordpress deployment operations. It provides you with an elegant DSL in Ruby for modeling your deployments.}
|
9
9
|
gem.homepage = %q{https://github.com/RLovelett/wordpress-deploy}
|
@@ -11,20 +11,21 @@ Gem::Specification.new do |gem|
|
|
11
11
|
gem.files = `git ls-files`.split($\)
|
12
12
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
13
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
-
gem.name =
|
15
|
-
gem.require_paths = [
|
14
|
+
gem.name = 'wordpress-deploy'
|
15
|
+
gem.require_paths = ['lib']
|
16
16
|
gem.version = WordpressDeploy::VERSION
|
17
17
|
|
18
18
|
##
|
19
19
|
# Gem dependencies
|
20
|
-
gem.add_dependency 'thor', ['~> 0.
|
20
|
+
gem.add_dependency 'thor', ['~> 0.18.1']
|
21
21
|
gem.add_dependency 'colorize', ['~> 0.5.8']
|
22
|
-
gem.add_dependency 'titleize', ['~> 1.
|
23
|
-
gem.add_dependency 'actionpack', ['~> 3.2.
|
22
|
+
gem.add_dependency 'titleize', ['~> 1.3.0']
|
23
|
+
gem.add_dependency 'actionpack', ['~> 3.2.13']
|
24
24
|
gem.add_dependency 'php-serialize_ryan', ['~> 1.1.0']
|
25
25
|
gem.add_dependency 'mysql2', ['~> 0.3.11']
|
26
26
|
|
27
|
-
gem.add_development_dependency 'rake', ['~> 0.
|
28
|
-
gem.add_development_dependency 'rspec', ['~> 2.
|
29
|
-
gem.add_development_dependency 'guard-rspec', ['~>
|
27
|
+
gem.add_development_dependency 'rake', ['~> 10.0.0']
|
28
|
+
gem.add_development_dependency 'rspec', ['~> 2.13.0']
|
29
|
+
gem.add_development_dependency 'guard-rspec', ['~> 2.5.0']
|
30
|
+
gem.add_development_dependency 'rb-fsevent', ['~> 0.9.1']
|
30
31
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wordpress-deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.rc7
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-04-
|
12
|
+
date: 2013-04-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.18.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
29
|
+
version: 0.18.1
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: colorize
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ~>
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 1.
|
53
|
+
version: 1.3.0
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
61
|
+
version: 1.3.0
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: actionpack
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
requirements:
|
67
67
|
- - ~>
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 3.2.
|
69
|
+
version: 3.2.13
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -74,7 +74,7 @@ dependencies:
|
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 3.2.
|
77
|
+
version: 3.2.13
|
78
78
|
- !ruby/object:Gem::Dependency
|
79
79
|
name: php-serialize_ryan
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,7 +114,7 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
117
|
+
version: 10.0.0
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -122,7 +122,7 @@ dependencies:
|
|
122
122
|
requirements:
|
123
123
|
- - ~>
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 0.
|
125
|
+
version: 10.0.0
|
126
126
|
- !ruby/object:Gem::Dependency
|
127
127
|
name: rspec
|
128
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -130,7 +130,7 @@ dependencies:
|
|
130
130
|
requirements:
|
131
131
|
- - ~>
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version: 2.
|
133
|
+
version: 2.13.0
|
134
134
|
type: :development
|
135
135
|
prerelease: false
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -138,7 +138,7 @@ dependencies:
|
|
138
138
|
requirements:
|
139
139
|
- - ~>
|
140
140
|
- !ruby/object:Gem::Version
|
141
|
-
version: 2.
|
141
|
+
version: 2.13.0
|
142
142
|
- !ruby/object:Gem::Dependency
|
143
143
|
name: guard-rspec
|
144
144
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,7 +146,7 @@ dependencies:
|
|
146
146
|
requirements:
|
147
147
|
- - ~>
|
148
148
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
149
|
+
version: 2.5.0
|
150
150
|
type: :development
|
151
151
|
prerelease: false
|
152
152
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -154,7 +154,23 @@ dependencies:
|
|
154
154
|
requirements:
|
155
155
|
- - ~>
|
156
156
|
- !ruby/object:Gem::Version
|
157
|
-
version:
|
157
|
+
version: 2.5.0
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: rb-fsevent
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ~>
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 0.9.1
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 0.9.1
|
158
174
|
description: Wordpress Deploy provides an elegant DSL in Ruby for modeling and executing
|
159
175
|
your deployments.
|
160
176
|
email:
|
@@ -180,6 +196,7 @@ files:
|
|
180
196
|
- lib/wordpress_deploy/cli/utility.rb
|
181
197
|
- lib/wordpress_deploy/config.rb
|
182
198
|
- lib/wordpress_deploy/database/mysql.rb
|
199
|
+
- lib/wordpress_deploy/database/option_file.rb
|
183
200
|
- lib/wordpress_deploy/environment.rb
|
184
201
|
- lib/wordpress_deploy/environments.rb
|
185
202
|
- lib/wordpress_deploy/errors.rb
|
@@ -198,11 +215,14 @@ files:
|
|
198
215
|
- spec/wordpress_deploy/cli/utility_spec.rb
|
199
216
|
- spec/wordpress_deploy/config_spec.rb
|
200
217
|
- spec/wordpress_deploy/database/mysql_spec.rb
|
218
|
+
- spec/wordpress_deploy/database/option_file_spec.rb
|
201
219
|
- spec/wordpress_deploy/environment_spec.rb
|
202
220
|
- spec/wordpress_deploy/environments_spec.rb
|
203
221
|
- spec/wordpress_deploy/storage/ftp_spec.rb
|
204
222
|
- spec/wordpress_deploy/storage/local_spec.rb
|
205
223
|
- spec/wordpress_deploy/wordpress/salts_spec.rb
|
224
|
+
- templates/mysql-opts.erb
|
225
|
+
- templates/mysqldump-opts.erb
|
206
226
|
- templates/wp-config.erb
|
207
227
|
- wordpress_deploy.gemspec
|
208
228
|
homepage: https://github.com/RLovelett/wordpress-deploy
|
@@ -219,7 +239,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
219
239
|
version: '0'
|
220
240
|
segments:
|
221
241
|
- 0
|
222
|
-
hash:
|
242
|
+
hash: 214032287340266533
|
223
243
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
244
|
none: false
|
225
245
|
requirements:
|
@@ -245,6 +265,7 @@ test_files:
|
|
245
265
|
- spec/wordpress_deploy/cli/utility_spec.rb
|
246
266
|
- spec/wordpress_deploy/config_spec.rb
|
247
267
|
- spec/wordpress_deploy/database/mysql_spec.rb
|
268
|
+
- spec/wordpress_deploy/database/option_file_spec.rb
|
248
269
|
- spec/wordpress_deploy/environment_spec.rb
|
249
270
|
- spec/wordpress_deploy/environments_spec.rb
|
250
271
|
- spec/wordpress_deploy/storage/ftp_spec.rb
|