Sha256: 19de4e2d507d84d4c7e8e557ac0225846ca32f822d2eb26e691b194931e06cc1

Contents?: true

Size: 976 Bytes

Versions: 8

Compression:

Stored size: 976 Bytes

Contents

module Wordmove
  class Doctor
    class Wpcli
      attr_reader :logger

      def initialize
        @logger = Logger.new(STDOUT).tap { |l| l.level = Logger::INFO }
      end

      def check!
        logger.task "Checking local wp-cli installation"

        if in_path?
          logger.success "wp-cli is correctly installed"

          if up_to_date?
            logger.success "wp-cli is up to date"
          else
            logger.error <<-LONG
  wp-cli is not up to date.
                Use `wp cli update` to update to the latest version.
            LONG
          end
        else
          logger.error <<-LONG
  wp-cli is not installed (or not in your $PATH).
              Read http://wp-cli.org/#installing for installation info.
          LONG
        end
      end

      private

      def in_path?
        system('which wp', out: File::NULL)
      end

      def up_to_date?
        `wp cli check-update --format=json`.empty?
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
wordmove-5.2.2 lib/wordmove/doctor/wpcli.rb
wordmove-5.2.1 lib/wordmove/doctor/wpcli.rb
wordmove-5.2.0 lib/wordmove/doctor/wpcli.rb
wordmove-5.1.0 lib/wordmove/doctor/wpcli.rb
wordmove-5.0.2 lib/wordmove/doctor/wpcli.rb
wordmove-5.0.1 lib/wordmove/doctor/wpcli.rb
wordmove-5.0.0.dev lib/wordmove/doctor/wpcli.rb
wordmove-5.0.0 lib/wordmove/doctor/wpcli.rb