Class: Avm::Tools::Runner::Source::VersionBump

Inherits:
Object
  • Object
show all
Defined in:
lib/avm/tools/runner/source/version_bump.rb

Instance Method Summary collapse

Instance Method Details

#current_version_uncachedObject



42
43
44
# File 'lib/avm/tools/runner/source/version_bump.rb', line 42

def current_version_uncached
  runner_context.call(:subject).if_respond('version')
end

#runObject



17
18
19
20
# File 'lib/avm/tools/runner/source/version_bump.rb', line 17

def run
  start_banner
  version_changed? ? run_version_changed : run_version_unchanged
end

#run_version_changedObject



22
23
24
25
26
27
28
29
30
# File 'lib/avm/tools/runner/source/version_bump.rb', line 22

def run_version_changed
  infom 'Version changed'
  if confirm?
    runner_context.call(:subject).version_bump(target_version)
    success 'Bumped'
  else
    fatal_error 'Bump unconfirmed'
  end
end

#run_version_unchangedObject



32
33
34
# File 'lib/avm/tools/runner/source/version_bump.rb', line 32

def run_version_unchanged
  success 'Version unchanged'
end

#start_bannerObject



36
37
38
39
40
# File 'lib/avm/tools/runner/source/version_bump.rb', line 36

def start_banner
  infov 'Instance', runner_context.call(:subject)
  infov 'Current version', current_version.if_present('-')
  infov 'Target version', target_version.if_present('-')
end

#target_version_from_new(_current, option_value) ⇒ Object



57
58
59
# File 'lib/avm/tools/runner/source/version_bump.rb', line 57

def target_version_from_new(_current, option_value)
  ::Avm::VersionNumber.new(option_value)
end

#target_version_from_segment(current, option_value) ⇒ Object



61
62
63
# File 'lib/avm/tools/runner/source/version_bump.rb', line 61

def target_version_from_segment(current, option_value)
  current.increment_segment(option_value.to_i)
end

#target_version_uncachedObject



46
47
48
49
50
51
52
53
54
55
# File 'lib/avm/tools/runner/source/version_bump.rb', line 46

def target_version_uncached
  r = current_version
  %w[new segment major minor patch].each do |option|
    option_value = parsed[option]
    next if option_value.blank?

    r = send("target_version_from_#{option}", r, option_value)
  end
  r
end

#version_changed?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/avm/tools/runner/source/version_bump.rb', line 71

def version_changed?
  target_version != current_version
end