wordmove 1.4.0.pre7 → 1.4.0.pre8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4ac474b0d1eef78e90da2a4c16c81d7b6dae3087
4
- data.tar.gz: b48c797cdcf367898b2f05f9d958a404cd7bdf8c
3
+ metadata.gz: 5dd5dc97097603a0676f7e74164930fc30bd5075
4
+ data.tar.gz: 1368b0ffa30ff530fbbda793de9a158c15f211a9
5
5
  SHA512:
6
- metadata.gz: 817aafb920b05cf1a2c3e9d4b7ecd651b1cebf87947e596abab072a304cc5c091fe1feef1bf1107daba2fa67e409e9c58bcbf3996d66f59ae9005aaf9e051175
7
- data.tar.gz: 2f0b6f56dabb041cd6dd3f1abb9e581cf0f6b7129d03d751806bbf14bad6ca0459a939985bfed60a0536300482b8c79a0882141b5c80bf4adc0ca7cd025174b1
6
+ metadata.gz: 9bf3456e0f2a4a21eeba58f3a610d513c949772c25fbf57440a57f894dea7237333b550070d654377c3bfdbc242d142be4805c088ade6aece1700f3a9548e886
7
+ data.tar.gz: d705f83295a45f7a5ae607793894a6043bdc255e39f3aa90d05cf066740d82386db41baafde984838bf290f2e1c3ae9d59bd9483dc1e3dd535d354ad37cfc179
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.2.3
1
+ 2.3.0
data/.travis.yml CHANGED
@@ -3,3 +3,4 @@ rvm:
3
3
  - 2.0.0
4
4
  - 2.1.7
5
5
  - 2.2.3
6
+ - 2.3.0
data/README.mdown CHANGED
@@ -79,6 +79,10 @@ production:
79
79
  - "Movefile"
80
80
  - "wp-config.php"
81
81
  - "wp-content/*.sql"
82
+
83
+ ssh:
84
+ host: "host"
85
+ user: "user"
82
86
  ```
83
87
 
84
88
  We warmly **recommend** to read the wiki article [Multiple environments explained
@@ -139,11 +143,12 @@ Visit [Wordpress Tools](http://wptools.it).
139
143
 
140
144
  ## Contribute
141
145
 
142
- In order to promote a simpler contribution workflow we have decided to fork the `master` branch and PR to the master
143
- `branch`.
146
+ In order to promote a simpler contribution workflow we have decided to fork and PR the `master` branch.
144
147
  We will accordingly tag and release or pre-release versions to the rubygems.org repository.
145
148
  Do not consider the `dev` branch for your forks and PR.
146
- We will never more use version-named branches as in the past.
149
+ We will never more use version-named branches as in the past, but we'll tag release on `master` and pre-release on `dev`.
150
+
151
+ ### Please, **read the full [contributor guide](https://github.com/welaika/wordmove/wiki/Contributor-Guide)**.
147
152
 
148
153
  Feel free to open an issue about contribution if more you need more info
149
154
 
data/lib/wordmove/cli.rb CHANGED
@@ -46,6 +46,10 @@ module Wordmove
46
46
  puts "No options given. See wordmove --help"
47
47
  exit 1
48
48
  end
49
+
50
+ def logger
51
+ Logger.new(STDOUT).tap { |l| l.level = Logger::DEBUG }
52
+ end
49
53
  end
50
54
 
51
55
  desc "pull", "Pulls WP data from remote host to the local machine"
@@ -54,7 +58,12 @@ module Wordmove
54
58
  end
55
59
  def pull
56
60
  ensure_wordpress_options_presence!(options)
57
- deployer = Wordmove::Deployer::Base.deployer_for(options)
61
+ begin
62
+ deployer = Wordmove::Deployer::Base.deployer_for(options)
63
+ rescue MovefileNotFound => e
64
+ logger.error(e.message)
65
+ exit 1
66
+ end
58
67
  handle_options(options) do |task|
59
68
  deployer.send("pull_#{task}")
60
69
  end
@@ -66,7 +75,12 @@ module Wordmove
66
75
  end
67
76
  def push
68
77
  ensure_wordpress_options_presence!(options)
69
- deployer = Wordmove::Deployer::Base.deployer_for(options)
78
+ begin
79
+ deployer = Wordmove::Deployer::Base.deployer_for(options)
80
+ rescue MovefileNotFound => e
81
+ logger.error(e.message)
82
+ exit 1
83
+ end
70
84
  handle_options(options) do |task|
71
85
  deployer.send("push_#{task}")
72
86
  end
@@ -147,12 +147,11 @@ module Wordmove
147
147
  end
148
148
 
149
149
  [
150
- WordpressDirectory::PATH::WP_CONTENT,
151
- WordpressDirectory::PATH::PLUGINS,
152
- WordpressDirectory::PATH::MU_PLUGINS,
153
- WordpressDirectory::PATH::THEMES,
154
- WordpressDirectory::PATH::UPLOADS,
155
- WordpressDirectory::PATH::LANGUAGES
150
+ WordpressDirectory::Path::WP_CONTENT,
151
+ WordpressDirectory::Path::PLUGINS,
152
+ WordpressDirectory::Path::THEMES,
153
+ WordpressDirectory::Path::UPLOADS,
154
+ WordpressDirectory::Path::LANGUAGES
156
155
  ].each do |type|
157
156
  [:remote, :local].each do |location|
158
157
  define_method "#{location}_#{type}_dir" do
@@ -180,7 +179,7 @@ module Wordmove
180
179
  if options[:charset].present?
181
180
  command << "--default-character-set=#{Shellwords.escape(options[:charset])}"
182
181
  end
183
- command << "--result-file=#{Shellwords.escape(save_to_path)}"
182
+ command << "--result-file=\"#{save_to_path}\""
184
183
  if options[:mysqldump_options].present?
185
184
  command << Shellwords.split(options[:mysqldump_options])
186
185
  end
@@ -201,7 +200,7 @@ module Wordmove
201
200
  command << "--default-character-set=#{Shellwords.escape(options[:charset])}"
202
201
  end
203
202
  command << "--database=#{Shellwords.escape(options[:name])}"
204
- command << "--execute=#{Shellwords.escape("SOURCE #{dump_path}")}"
203
+ command << "--execute=\"SET autocommit=0;SOURCE #{dump_path};COMMIT\""
205
204
  puts command.join(" ")
206
205
  command.join(" ")
207
206
  end
@@ -209,13 +208,16 @@ module Wordmove
209
208
  def compress_command(path)
210
209
  command = ["gzip"]
211
210
  command << "--best"
211
+ command << "--force"
212
212
  command << Shellwords.escape(path)
213
213
  puts command.join(" ")
214
214
  command.join(" ")
215
215
  end
216
216
 
217
217
  def uncompress_command(path)
218
- command = ["gunzip"]
218
+ command = ["gzip"]
219
+ command << "-d"
220
+ command << "--force"
219
221
  command << Shellwords.escape(path)
220
222
  puts command.join(" ")
221
223
  command.join(" ")
@@ -12,9 +12,10 @@ module Wordmove
12
12
 
13
13
  local_dump_path = local_wp_content_dir.path("dump.sql")
14
14
  local_gzipped_dump_path = local_dump_path + '.gz'
15
- local_gizipped_backup_path = local_wp_content_dir.path("#{environment}-backup-#{Time.now.to_i}.sql.gz")
15
+ local_gzipped_backup_path = local_wp_content_dir
16
+ .path("#{environment}-backup-#{Time.now.to_i}.sql.gz")
16
17
 
17
- download_remote_db(local_gizipped_backup_path)
18
+ download_remote_db(local_gzipped_backup_path)
18
19
 
19
20
  save_local_db(local_dump_path)
20
21
  adapt_sql(local_dump_path, local_options, remote_options)
@@ -18,6 +18,10 @@ module Wordmove
18
18
  end
19
19
  end
20
20
 
21
+ def error(msg)
22
+ puts "ERROR: ".red + msg.black
23
+ end
24
+
21
25
  private
22
26
 
23
27
  def padding_length(line)
@@ -1,3 +1,3 @@
1
1
  module Wordmove
2
- VERSION = "1.4.0.pre7".freeze
2
+ VERSION = "1.4.0.pre8".freeze
3
3
  end
@@ -1,22 +1,20 @@
1
- WordpressDirectory = Struct.new(:type, :options) do
2
- module PATH
3
- WP_CONTENT = :wp_content
4
- WP_CONFIG = :wp_config
5
- PLUGINS = :plugins
6
- MU_PLUGINS = :mu_plugins
7
- THEMES = :themes
8
- UPLOADS = :uploads
9
- LANGUAGES = :languages
1
+ require 'wordmove/wordpress_directory/path'
2
+
3
+ class WordpressDirectory
4
+ attr_accessor :type, :options
5
+
6
+ def initialize(type, options)
7
+ @type = type
8
+ @options = options
10
9
  end
11
10
 
12
11
  DEFAULT_PATHS = {
13
- PATH::WP_CONTENT => 'wp-content',
14
- PATH::WP_CONFIG => 'wp-config.php',
15
- PATH::PLUGINS => 'wp-content/plugins',
16
- PATH::MU_PLUGINS => 'wp-content/mu-plugins',
17
- PATH::THEMES => 'wp-content/themes',
18
- PATH::UPLOADS => 'wp-content/uploads',
19
- PATH::LANGUAGES => 'wp-content/languages'
12
+ Path::WP_CONTENT => 'wp-content',
13
+ Path::WP_CONFIG => 'wp-config.php',
14
+ Path::PLUGINS => 'wp-content/plugins',
15
+ Path::THEMES => 'wp-content/themes',
16
+ Path::UPLOADS => 'wp-content/uploads',
17
+ Path::LANGUAGES => 'wp-content/languages'
20
18
  }.freeze
21
19
 
22
20
  def self.default_path_for(sym)
@@ -0,0 +1,10 @@
1
+ class WordpressDirectory
2
+ module Path
3
+ WP_CONTENT = :wp_content
4
+ WP_CONFIG = :wp_config
5
+ PLUGINS = :plugins
6
+ THEMES = :themes
7
+ UPLOADS = :uploads
8
+ LANGUAGES = :languages
9
+ end
10
+ end
data/wordmove.gemspec CHANGED
@@ -27,14 +27,14 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_dependency "colorize", "~> 0.7.5"
31
- spec.add_dependency "thor", "~> 0.19.1"
32
- spec.add_dependency "activesupport", "~> 4.2.1"
33
- spec.add_dependency "photocopier", "~> 1.1.0"
30
+ spec.add_runtime_dependency "colorize", "~> 0.7.5"
31
+ spec.add_runtime_dependency "thor", "~> 0.19.1"
32
+ spec.add_runtime_dependency "activesupport", "~> 4.2", ">= 4.2.1"
33
+ spec.add_runtime_dependency "photocopier", "~> 1.1", ">= 1.1.0"
34
34
 
35
35
  spec.required_ruby_version = "~> 2.0"
36
36
 
37
- spec.add_development_dependency "bundler", ">= 1.6.2"
37
+ spec.add_development_dependency "bundler", "~> 1.6", ">= 1.6.2"
38
38
  spec.add_development_dependency "rake", "~> 10.0"
39
39
  spec.add_development_dependency "rspec", "~> 3.3"
40
40
  spec.add_development_dependency "simplecov", "~> 0.9"
@@ -45,8 +45,8 @@ Gem::Specification.new do |spec|
45
45
 
46
46
  spec.post_install_message = <<-RAINBOW
47
47
  Starting from 1.4.0 Wordmove will compress SQL dumps both in remote and locale environments.
48
- If something will broke, please check if gzip and gunzip executables are present locally and
49
- remotely. We are considering obviuos they are installed in any web environment.
48
+ If something will broke, please check if gzip executable is present locally and
49
+ remotely. We are considering obvious it's installed in any web environment.
50
50
  Open an issue on github at your needs.
51
51
  RAINBOW
52
52
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wordmove
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0.pre7
4
+ version: 1.4.0.pre8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefano Verna
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2016-02-19 00:00:00.000000000 Z
14
+ date: 2016-02-24 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: colorize
@@ -46,6 +46,9 @@ dependencies:
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
48
  - - "~>"
49
+ - !ruby/object:Gem::Version
50
+ version: '4.2'
51
+ - - ">="
49
52
  - !ruby/object:Gem::Version
50
53
  version: 4.2.1
51
54
  type: :runtime
@@ -53,6 +56,9 @@ dependencies:
53
56
  version_requirements: !ruby/object:Gem::Requirement
54
57
  requirements:
55
58
  - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '4.2'
61
+ - - ">="
56
62
  - !ruby/object:Gem::Version
57
63
  version: 4.2.1
58
64
  - !ruby/object:Gem::Dependency
@@ -60,6 +66,9 @@ dependencies:
60
66
  requirement: !ruby/object:Gem::Requirement
61
67
  requirements:
62
68
  - - "~>"
69
+ - !ruby/object:Gem::Version
70
+ version: '1.1'
71
+ - - ">="
63
72
  - !ruby/object:Gem::Version
64
73
  version: 1.1.0
65
74
  type: :runtime
@@ -67,12 +76,18 @@ dependencies:
67
76
  version_requirements: !ruby/object:Gem::Requirement
68
77
  requirements:
69
78
  - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '1.1'
81
+ - - ">="
70
82
  - !ruby/object:Gem::Version
71
83
  version: 1.1.0
72
84
  - !ruby/object:Gem::Dependency
73
85
  name: bundler
74
86
  requirement: !ruby/object:Gem::Requirement
75
87
  requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '1.6'
76
91
  - - ">="
77
92
  - !ruby/object:Gem::Version
78
93
  version: 1.6.2
@@ -80,6 +95,9 @@ dependencies:
80
95
  prerelease: false
81
96
  version_requirements: !ruby/object:Gem::Requirement
82
97
  requirements:
98
+ - - "~>"
99
+ - !ruby/object:Gem::Version
100
+ version: '1.6'
83
101
  - - ">="
84
102
  - !ruby/object:Gem::Version
85
103
  version: 1.6.2
@@ -223,6 +241,7 @@ files:
223
241
  - lib/wordmove/sql_adapter.rb
224
242
  - lib/wordmove/version.rb
225
243
  - lib/wordmove/wordpress_directory.rb
244
+ - lib/wordmove/wordpress_directory/path.rb
226
245
  - pkg/wordmove-0.0.1.gem
227
246
  - pkg/wordmove-0.0.2.gem
228
247
  - wordmove.gemspec
@@ -232,8 +251,8 @@ licenses:
232
251
  metadata: {}
233
252
  post_install_message: |2
234
253
  Starting from 1.4.0 Wordmove will compress SQL dumps both in remote and locale environments.
235
- If something will broke, please check if gzip and gunzip executables are present locally and
236
- remotely. We are considering obviuos they are installed in any web environment.
254
+ If something will broke, please check if gzip executable is present locally and
255
+ remotely. We are considering obvious it's installed in any web environment.
237
256
  Open an issue on github at your needs.
238
257
  rdoc_options: []
239
258
  require_paths:
@@ -250,7 +269,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
250
269
  version: 1.3.1
251
270
  requirements: []
252
271
  rubyforge_project:
253
- rubygems_version: 2.4.5
272
+ rubygems_version: 2.5.1
254
273
  signing_key:
255
274
  specification_version: 4
256
275
  summary: Wordmove, Capistrano for Wordpress