Class: Avm::Tools::Runner::Git::Issue

Inherits:
EacRubyUtils::Console::DocoptRunner
  • Object
show all
Includes:
EacRubyUtils::Console::Speaker
Defined in:
lib/avm/tools/runner/git/issue.rb

Constant Summary collapse

DOC =
<<~DOCOPT
  Closes a issue in a Git repository.

  Usage:
    __PROGRAM__ [options] [complete]
    __PROGRAM__ -h | --help

  Options:
    -h --help                             Show this screen.
    -f --uncomplete-unfail                Do not exit with error if issue is not completed
                                          or is invalid.
    -s --skip-validations=<validations>   Does not validate conditions on <validations>
                                          (Comma separated value).
    -y --yes                              Does not ask for user confirmation.

  Validations:
  %%VALIDATIONS%%
DOCOPT
UNCOMPLETE_MESSAGE =
def run
  banner
  return unless validate

  run_complete if options.fetch('complete')
  success('Done!')
end

Instance Method Summary collapse

Instance Method Details



44
45
46
# File 'lib/avm/tools/runner/git/issue.rb', line 44

def banner
  complete.start_banner
end

#docObject



60
61
62
# File 'lib/avm/tools/runner/git/issue.rb', line 60

def doc
  DOC.gsub('%%VALIDATIONS%%', doc_validations_list)
end

#run_completeObject



54
55
56
57
58
# File 'lib/avm/tools/runner/git/issue.rb', line 54

def run_complete
  return complete.run if confirm?

  uncomplete_message('Issue was not completed')
end

#validateObject



48
49
50
51
52
# File 'lib/avm/tools/runner/git/issue.rb', line 48

def validate
  return true if complete.valid?

  uncomplete_message('Some validation did not pass')
end