Class: Octofart::Tasks::BranchMapping

Inherits:
Object
  • Object
show all
Defined in:
lib/octofart/tasks/branch_mapping.rb

Instance Method Summary collapse

Instance Method Details

#run(params) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/octofart/tasks/branch_mapping.rb', line 5

def run(params)
  puts "Determining base branch of #{params[:repositories].size} repositories..."

  params[:repositories].each_pair do |repo_name, |
    next if [:base_branch][:name]
    puts "Getting base branch of #{repo_name}..."

    base_branch_name       ||= Octofart.client.repo(repo_name).default_branch
    base_branch_latest_sha ||= Octofart.client.branch(repo_name, base_branch_name).commit.sha

    [:base_branch][:name] = base_branch_name
    [:base_branch][:sha]  = base_branch_latest_sha

    puts "Detected `#{base_branch_name}` as default branch of #{repo_name} (HEAD at #{base_branch_latest_sha})"
  end

  params
end