class GemsStatus::ScmCheckMessages
Constants
- MAX_RETRIES
Public Instance Methods
check_messages(name, source_repo, message_checker, origin, counter = 0)
click to toggle source
# File lib/gems-status/checkers/scm_check_messages.rb, line 8 def check_messages(name, source_repo, message_checker, origin, counter = 0) begin messages = Timeout::timeout(300) { messages(name, source_repo) } return security_alerts(name, messages, message_checker, origin) rescue => e if counter == MAX_RETRIES Utils::log_error name, "There was a problem checking out #{source_repo} #{e}" return {} else Utils::log_debug "There was a problem checking out #{source_repo} #{e}: Trying it again..." return check_messages(name, source_repo, message_checker, origin, counter + 1) end end end
Private Instance Methods
commit_key(commit)
click to toggle source
# File lib/gems-status/checkers/scm_check_messages.rb, line 44 def commit_key(commit) raise NotImplementedError end
date(commit)
click to toggle source
# File lib/gems-status/checkers/scm_check_messages.rb, line 56 def date(commit) raise NotImplementedError end
message(commit)
click to toggle source
# File lib/gems-status/checkers/scm_check_messages.rb, line 48 def message(commit) raise NotImplementedError end
messages(name, source_repo)
click to toggle source
# File lib/gems-status/checkers/scm_check_messages.rb, line 52 def messages(name, source_repo) raise NotImplementedError end
security_alerts(name, commits, message_checker, origin)
click to toggle source
# File lib/gems-status/checkers/scm_check_messages.rb, line 27 def security_alerts(name, commits, message_checker, origin) results = {} commits.each do |commit| if message_checker.check_message?(message(commit)) Utils::log_debug "#{message(commit)}" key = "#{name}_#{origin}_#{commit_key(commit)}" if !key Utils::log_error "no key for #{name}" next end Utils::log_debug "security key: #{key}" results[key] = SecurityAlert.new(message(commit), date(commit)) end end return results end