Sha256: 1543614c11884a9497031816dde8a207eb47e4c6ca6cc2283ece5776a3da351e

Contents?: true

Size: 1.32 KB

Versions: 74

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

require 'eac_launcher/git/base'
require 'eac_ruby_utils/console/speaker'
require 'eac_ruby_utils/options_consumer'
require 'eac_ruby_utils/require_sub'
require 'eac_ruby_utils/simple_cache'
::EacRubyUtils.require_sub(__FILE__)

module Avm
  module Git
    module Issue
      class Complete
        include ::EacRubyUtils::SimpleCache
        include ::EacRubyUtils::Console::Speaker

        attr_reader :skip_validations

        def initialize(options)
          consumer = ::EacRubyUtils::OptionsConsumer.new(options)
          dir, @skip_validations = consumer.consume_all(:dir, :skip_validations)
          validate_skip_validations
          consumer.validate
          @git = ::EacLauncher::Git::Base.new(dir)
        end

        def start_banner
          validations_banner
        end

        def run
          return false unless valid?

          assert_tag
          push
          remove_local_branch
          clipboard_copy_tracker_message
          true
        end

        def issue_id
          m = branch_name.match(/\A#{Regexp.quote('issue_')}(\d+)\z/)
          m ? m[1].to_i : nil
        end

        private

        def git(args, exit_outputs = {})
          r = @git.execute!(args, exit_outputs: exit_outputs)
          r.is_a?(String) ? r.strip : r
        end
      end
    end
  end
end

Version data entries

74 entries across 74 versions & 1 rubygems

Version Path
avm-tools-0.98.0 lib/avm/git/issue/complete.rb
avm-tools-0.97.0 lib/avm/git/issue/complete.rb
avm-tools-0.96.0 lib/avm/git/issue/complete.rb
avm-tools-0.95.0 lib/avm/git/issue/complete.rb
avm-tools-0.94.3 lib/avm/git/issue/complete.rb
avm-tools-0.94.2 lib/avm/git/issue/complete.rb
avm-tools-0.94.1 lib/avm/git/issue/complete.rb
avm-tools-0.94.0 lib/avm/git/issue/complete.rb
avm-tools-0.93.0 lib/avm/git/issue/complete.rb
avm-tools-0.92.0 lib/avm/git/issue/complete.rb
avm-tools-0.91.0 lib/avm/git/issue/complete.rb
avm-tools-0.90.0 lib/avm/git/issue/complete.rb
avm-tools-0.89.0 lib/avm/git/issue/complete.rb
avm-tools-0.88.0 lib/avm/git/issue/complete.rb
avm-tools-0.87.1 lib/avm/git/issue/complete.rb
avm-tools-0.87.0 lib/avm/git/issue/complete.rb
avm-tools-0.86.0 lib/avm/git/issue/complete.rb
avm-tools-0.85.1 lib/avm/git/issue/complete.rb
avm-tools-0.85.0 lib/avm/git/issue/complete.rb
avm-tools-0.84.0 lib/avm/git/issue/complete.rb