Sha256: 361f055aea9393af33604e44aa41c597cb5451992e8d41deec76cd531d8c5c37

Contents?: true

Size: 1.27 KB

Versions: 1

Compression:

Stored size: 1.27 KB

Contents

require 'pastel'

require_relative '../commands/gem'
require_relative 'vcs'

module Autowow
  module Features
    module Gem
      include EasyLogging
      include Commands::Gem
      include Commands::Vcs
      include Executor

      def gem_release
        pretty_with_output.run(git_status)
        start_branch = Vcs.working_branch
        logger.error("Not on master.") and return unless start_branch.eql?('master')
        pretty.run(push)

        Vcs.on_branch('release') do
          pretty.run(pull)
          pretty.run(rebase(start_branch))
          pretty_with_output.run(release)
        end

        pretty_with_output.run(git_status)
      end

      def gem_clean
        pretty_with_output.run(clean)
      end

      def rubocop_parallel_autocorrect
        pastel = Pastel.new
        result = pretty_with_output.run!(rubocop_parallel)
        if result.failed?
          filtered = result.out.each_line.select { |line| line.match(%r{(.*):([0-9]*):([0-9]*):}) }
                       .map{ |line| line.split(':')[0] }
                       .uniq
                       .map{ |line| pastel.strip(line) }
          pretty_with_output.run(rubocop_autocorrect(filtered)) if filtered.any?
        end
      end

      include ReflectionUtils::CreateModuleFunctions
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
autowow-0.8.0 lib/autowow/features/gem.rb