Module: Overcommit::Hook::Shared::SubmoduleStatus

Included in:
PostCheckout::SubmoduleStatus, PostCommit::SubmoduleStatus, PostMerge::SubmoduleStatus, PostRewrite::SubmoduleStatus
Defined in:
lib/overcommit/hook/shared/submodule_status.rb

Overview

Shared code used by all `SubmoduleStatus` hooks to notify the user if any submodules are uninitialized, out of date with the current index, or contain merge conflicts.

Instance Method Summary collapse

Instance Method Details

#runObject


6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/overcommit/hook/shared/submodule_status.rb', line 6

def run
  messages = []
  submodule_statuses.each do |submodule_status|
    path = submodule_status.path
    if submodule_status.uninitialized?
      messages << "Submodule #{path} is uninitialized."
    elsif submodule_status.outdated?
      messages << "Submodule #{path} is out of date with the current index."
    elsif submodule_status.merge_conflict?
      messages << "Submodule #{path} has merge conflicts."
    end
  end

  return :pass if messages.empty?

  [:warn, messages.join("\n")]
end