Sha256: 605c46a0a554b610f0cf0b91ebf372c4d9e60bec516bd804bd34316a7651539f

Contents?: true

Size: 542 Bytes

Versions: 7

Compression:

Stored size: 542 Bytes

Contents

module Dude
  module Commands
    class Checkout < Dry::CLI::Command
      desc "Checkout to branch named as current issue"

      argument :id, required: true, desc: "The card short ID"

      def call(id:)
        client = ProjectManagement::Client.new
        issue_title = client.get_task_name_by_id(id)
        Dude::Git::Checkout.new.call(branch_name(issue_title, id))
      end

      private

      def branch_name(issue_title, id)
        issue_title.downcase.gsub(/[^a-z0-9\-_]+/, '-').prepend("#{id}-")
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
dude-cli-2.0.6 lib/dude/commands/checkout.rb
dude-cli-2.0.5 lib/dude/commands/checkout.rb
dude-cli-2.0.4 lib/dude/commands/checkout.rb
dude-cli-2.0.3 lib/dude/commands/checkout.rb
dude-cli-2.0.2 lib/dude/commands/checkout.rb
dude-cli-2.0.1 lib/dude/commands/checkout.rb
dude-cli-2.0.0 lib/dude/commands/checkout.rb