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) ⇒ VersionBump

Returns a new instance of VersionBump.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 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)
  @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
  @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



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

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

#target_versionsObject



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

def target_versions
  member_target_versions.dup
end