class Wordmove::CLI

Public Instance Methods

__print_version() click to toggle source
# File lib/wordmove/cli.rb, line 6
def __print_version
  puts Wordmove::VERSION
end
doctor() click to toggle source
# File lib/wordmove/cli.rb, line 16
def doctor
  Wordmove::Doctor.start
end
ensure_wordpress_options_presence!(options) click to toggle source
# File lib/wordmove/cli.rb, line 48
def ensure_wordpress_options_presence!(options)
  return if (options.keys & (wordpress_options + ["all"])).present?

  puts "No options given. See wordmove --help"
  exit 1
end
handle_options(options) { |task| ... } click to toggle source
# File lib/wordmove/cli.rb, line 38
def handle_options(options)
  wordpress_options.each do |task|
    yield task if options[task] || (options["all"] && options[task] != false)
  end
end
init() click to toggle source
# File lib/wordmove/cli.rb, line 11
def init
  Wordmove::Generators::Movefile.start
end
list() click to toggle source
# File lib/wordmove/cli.rb, line 64
def list
  Wordmove::EnvironmentsList.print(options)
rescue Wordmove::MovefileNotFound => e
  logger.error(e.message)
  exit 1
rescue Psych::SyntaxError => e
  logger.error("Your movefile is not parsable due to a syntax error: #{e.message}")
  exit 1
end
logger() click to toggle source
# File lib/wordmove/cli.rb, line 55
def logger
  Logger.new(STDOUT).tap { |l| l.level = Logger::DEBUG }
end
pull() click to toggle source
# File lib/wordmove/cli.rb, line 78
def pull
  ensure_wordpress_options_presence!(options)
  begin
    deployer = Wordmove::Deployer::Base.deployer_for(options.deep_symbolize_keys)
  rescue MovefileNotFound => e
    logger.error(e.message)
    exit 1
  end

  Wordmove::Hook.run(:pull, :before, options)

  guardian = Wordmove::Guardian.new(options: options, action: :pull)

  handle_options(options) do |task|
    deployer.send("pull_#{task}") if guardian.allows(task.to_sym)
  end

  Wordmove::Hook.run(:pull, :after, options)
end
push() click to toggle source
# File lib/wordmove/cli.rb, line 102
def push
  ensure_wordpress_options_presence!(options)
  begin
    deployer = Wordmove::Deployer::Base.deployer_for(options.deep_symbolize_keys)
  rescue MovefileNotFound => e
    logger.error(e.message)
    exit 1
  end

  Wordmove::Hook.run(:push, :before, options)

  guardian = Wordmove::Guardian.new(options: options, action: :push)

  handle_options(options) do |task|
    deployer.send("push_#{task}") if guardian.allows(task.to_sym)
  end

  Wordmove::Hook.run(:push, :after, options)
end
wordpress_options() click to toggle source
# File lib/wordmove/cli.rb, line 44
def wordpress_options
  %w[wordpress uploads themes plugins mu_plugins languages db]
end