Sha256: b2c4b8d7c65a95ebe716f152485914cc547e5334abda63f11a4f542c4a210119

Contents?: true

Size: 1.14 KB

Versions: 21

Compression:

Stored size: 1.14 KB

Contents

# frozen_string_literal: true

require 'avm/tools/core_ext'

module Avm
  module Git
    module Issue
      class Complete
        require_sub __FILE__, include_modules: true
        enable_simple_cache
        enable_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 = ::Avm::Launcher::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

21 entries across 21 versions & 3 rubygems

Version Path
avm-tools-0.113.5 sub/avm-git/lib/avm/git/issue/complete.rb
avm-tools-0.113.4 sub/avm-git/lib/avm/git/issue/complete.rb
avm-tools-0.113.3 sub/avm-git/lib/avm/git/issue/complete.rb
avm-tools-0.113.2 sub/avm-git/lib/avm/git/issue/complete.rb
avm-git-0.3.0 lib/avm/git/issue/complete.rb
avm-git-0.2.0 lib/avm/git/issue/complete.rb
avm-tools-0.110.0 vendor/avm-git/lib/avm/git/issue/complete.rb
avm-tools-0.109.1 vendor/avm-git/lib/avm/git/issue/complete.rb
avm-git-0.1.0 lib/avm/git/issue/complete.rb
avm-tools-0.109.0 vendor/avm-git/lib/avm/git/issue/complete.rb
avm-0.5.0 lib/avm/git/issue/complete.rb
avm-tools-0.108.0 vendor/avm/lib/avm/git/issue/complete.rb
avm-0.4.0 lib/avm/git/issue/complete.rb
avm-tools-0.107.0 vendor/avm/lib/avm/git/issue/complete.rb
avm-tools-0.106.0 vendor/avm/lib/avm/git/issue/complete.rb
avm-0.3.2 lib/avm/git/issue/complete.rb
avm-0.3.1 lib/avm/git/issue/complete.rb
avm-tools-0.105.0 vendor/avm/lib/avm/git/issue/complete.rb
avm-0.3.0 lib/avm/git/issue/complete.rb
avm-tools-0.104.0 vendor/avm/lib/avm/git/issue/complete.rb