Class: Avm::Git::Issue::Complete

Inherits:
Object
  • Object
show all
Defined in:
lib/avm/git/issue/complete.rb,
lib/avm/git/issue/complete/push.rb,
lib/avm/git/issue/complete/test.rb,
lib/avm/git/issue/complete/remote.rb,
lib/avm/git/issue/complete/commits.rb,
lib/avm/git/issue/complete/tracker.rb,
lib/avm/git/issue/complete/local_tag.rb,
lib/avm/git/issue/complete/validation.rb,
lib/avm/git/issue/complete/validations.rb,
lib/avm/git/issue/complete/git_subrepos.rb,
lib/avm/git/issue/complete/local_branch.rb,
lib/avm/git/issue/complete/working_tree.rb

Defined Under Namespace

Modules: Commits, GitSubrepos, LocalBranch, LocalTag, Push, Remote, Test, Tracker, Validations, WorkingTree Classes: Validation

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scm, options) ⇒ Complete

Returns a new instance of Complete.



13
14
15
16
17
18
19
# File 'lib/avm/git/issue/complete.rb', line 13

def initialize(scm, options)
  @scm = scm
  consumer = ::EacRubyUtils::OptionsConsumer.new(options)
  @skip_validations = consumer.consume(:skip_validations)
  validate_skip_validations
  consumer.validate
end

Instance Attribute Details

#scmObject (readonly)

Returns the value of attribute scm.



11
12
13
# File 'lib/avm/git/issue/complete.rb', line 11

def scm
  @scm
end

#skip_validationsObject (readonly)

Returns the value of attribute skip_validations.



11
12
13
# File 'lib/avm/git/issue/complete.rb', line 11

def skip_validations
  @skip_validations
end

Instance Method Details

#dirString

Returns:

  • (String)


22
23
24
# File 'lib/avm/git/issue/complete.rb', line 22

def dir
  scm.path.to_path
end

#issue_idObject



39
40
41
# File 'lib/avm/git/issue/complete.rb', line 39

def issue_id
  branch ? issue_id_parser.parse(branch_name) : nil
end

#issue_id_parserEacRubyUtils::RegexpParser

Returns:

  • (EacRubyUtils::RegexpParser)


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

def issue_id_parser
  /\A#{Regexp.quote('issue_')}(\d+)\z/.to_parser { |m| m[1].to_i }
end

#runObject

rubocop:disable Naming/PredicateMethod



30
31
32
33
34
35
36
37
# File 'lib/avm/git/issue/complete.rb', line 30

def run # rubocop:disable Naming/PredicateMethod
  return false unless valid?

  assert_tag
  push
  remove_local_branch
  true
end

#start_bannerObject



26
27
28
# File 'lib/avm/git/issue/complete.rb', line 26

def start_banner
  validations_banner
end