Class: Kettle::Family::ReleaseReconciler

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

Overview

Reconciles RubyGems publications with GitHub Release metadata without creating tags or publishing gems. The child executable performs the authoritative prerequisite checks before an optional GitHub API call.

Constant Summary collapse

CHECK_PHASE =
"reconcile_github_release_check"
CREATE_PHASE =
"reconcile_github_release"

Instance Method Summary collapse

Constructor Details

#initialize(config:, members:, execute: false, runner: nil) ⇒ ReleaseReconciler

Returns a new instance of ReleaseReconciler.



15
16
17
18
19
20
# File 'lib/kettle/family/release_reconciler.rb', line 15

def initialize(config:, members:, execute: false, runner: nil)
  @config = config
  @members = members
  @execute = execute
  @runner = runner || CommandRunner.new(execute: true)
end

Instance Method Details

#resultsObject



22
23
24
25
26
27
# File 'lib/kettle/family/release_reconciler.rb', line 22

def results
  release_states = release_state_by_member
  members.flat_map do |member|
    reconcile_member(member: member, release_state: release_states[member.name])
  end
end