Class: Kettle::Family::ReleaseStateCheck

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

Constant Summary collapse

KETTLE_JEM_STATE_PATHS =
[
  ".structuredmerge/kettle-jem.lock",
  ".kettle-jem.lock",
  ".structuredmerge/kettle-jem.yml",
  ".kettle-jem.yml"
].freeze
TRANSFER_CHANGELOG_TOTAL_UNSET =
Object.new.freeze

Instance Method Summary collapse

Constructor Details

#initialize(members:, config: nil) ⇒ ReleaseStateCheck

Returns a new instance of ReleaseStateCheck.



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

def initialize(members:, config: nil)
  @members = members
  @config = config
  @github_latest_release_by_repo = {}
  @transfer_changelog_lag_by_key = {}
  @transfer_changelog_total_count = TRANSFER_CHANGELOG_TOTAL_UNSET
end

Instance Method Details

#resultsObject



30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/kettle/family/release_state_check.rb', line 30

def results
  return branch_results unless release_target_branches.empty?
  return members.map { |member| check_shared_changelog_member_or_local(member) } if shared_changelog?

  members.each_with_object([]) do |member, memo|
    member_branch_results = member_local_branch_results(member)
    if member_branch_results
      memo.concat(member_branch_results)
    else
      memo << check_member(member)
    end
  end
end