lib/abak-flow/request.rb in abak-flow-0.1.1 vs lib/abak-flow/request.rb in abak-flow-0.1.2

- old
+ new

@@ -55,11 +55,11 @@ # @TODO Может быть лучше достать дерективу конфига origin? say "=> Обновляю ветку #{current_branch} на origin" Hub::Runner.execute('push', repository.main_project.remote.name, current_branch) # Запостим pull request на upstream - command_options = ['pull-request', args.first, '-b', base, '-h', head, '-d'] + command_options = ['pull-request', args.first, '-b', base, '-h', head] command_options |= ['-d', jira_browse_url + task] if task =~ /^\w+\-\d{1,}$/ say '=> Делаю pull request на upstream' say Hub::Runner.execute(*command_options) end @@ -80,10 +80,50 @@ say "=> Обновляю ветку #{branch} на origin" Hub::Runner.execute('push', repository.main_project.remote.name, branch) end end + command :feature do |c| + c.syntax = 'git request feature <Название задачи>' + c.description = 'Создать ветку для выполнения задачи. Лучше всего, если название задачи, будет ее номером из jira' + + c.action do |args, options| + task = args.shift.to_s + + if task.empty? + say 'Необходимо указать имя задачи, а лучше всего ее номер из jira' + exit + end + + unless task =~ /^\w+\-\d{1,}$/ + say '=> Вы приняли верное решение :)' && exit unless agree("Лучше всего завести задачу с именем примерно такого формата PC-001, может попробуем заного? [yes/no/y/n]:") + end + + Hub::Runner.execute('flow', 'feature', 'start', task) + end + end + + command :hotfix do |c| + c.syntax = 'git request hotfix <Название задачи>' + c.description = 'Создать ветку для выполнения bugfix задачи. Лучше всего, если название задачи, будет ее номером из jira' + + c.action do |args, options| + task = args.shift.to_s + + if task.empty? + say 'Необходимо указать имя задачи, а лучше всего ее номер из jira' + exit + end + + unless task =~ /^\w+\-\d{1,}$/ + say '=> Вы приняли верное решение :)' && exit unless agree("Лучше всего завести задачу с именем примерно такого формата PC-001, может попробуем заного? [yes/no/y/n]:") + end + + Hub::Runner.execute('flow', 'hotfix', 'start', task) + end + end + command :done do |c| c.syntax = 'git request done' c.description = 'Завершить pull request. По умолчанию удаляются ветки как локальная (local), так и удаленная (origin)' c.option '--branch STRING', String, 'Имя ветки pull request которой нужно закрыть' @@ -104,9 +144,10 @@ warning = "Внимание! Alarm! Danger! Achtung\nЕсли вы удалите ветку на удаленном репозитории, а ваш pull request еще не приняли, вы рискуете потерять проделанную работу.\nВы уверены, что хотите продолжить?" if [:all, :origin].include?(type) say '=> Вы приняли верное решение :)' && exit unless agree("#{warning} [yes/no/y/n]:") end + # @TODO Проверку на наличие ветки на origin if [:all, :origin].include? type say "=> Удаляю ветку #{branch} на origin" Hub::Runner.execute('push', repository.main_project.remote.name, ':' + branch) end \ No newline at end of file