Class: Kettle::Family::VersionBump

Inherits:
Object
  • Object
show all
Defined in:
lib/kettle/family/version_bump.rb

Constant Summary collapse

DEPENDENCY_METHODS =
%i[add_dependency add_runtime_dependency add_development_dependency].freeze

Instance Method Summary collapse

Constructor Details

#initialize(members:, target_version:, from_version: nil, mode: :dry_run, phase: "bump-version", dependency_target_versions: nil, shared_target_version: nil) ⇒ VersionBump

Returns a new instance of VersionBump.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/kettle/family/version_bump.rb', line 10

def initialize(members:, target_version:, from_version: nil, mode: :dry_run, phase: "bump-version", dependency_target_versions: nil, shared_target_version: nil)
  @members = members
  @target_version = target_version.to_s
  @explicit_target_version = validate_version(target_version) unless Kettle::Dev::VersionBump::BUMP_TYPES.include?(@target_version)
  @from_version = validate_version(from_version) if from_version
  @mode = mode
  @phase = phase
  @shared_target_version = shared_target_version && validate_version(shared_target_version)
  @member_names = members.map(&:name)
  @member_target_versions = members.each_with_object({}) do |member, memo|
    memo[member.name] = resolve_target_version(member)
  end
  @dependency_target_versions = dependency_target_versions || member_target_versions
  @dependency_member_names = @dependency_target_versions.keys
end

Instance Method Details

#resultsObject



26
27
28
# File 'lib/kettle/family/version_bump.rb', line 26

def results
  members.map { |member| result_for(member) }
end

#target_versionsObject



30
31
32
# File 'lib/kettle/family/version_bump.rb', line 30

def target_versions
  member_target_versions.dup
end