module Gitrob::CLI::Commands::Analyze::Analysis
Public Instance Methods
analyze_blobs(blobs, db_repo, db_owner, progress)
click to toggle source
# File lib/gitrob/cli/commands/analyze/analysis.rb, line 23 def analyze_blobs(blobs, db_repo, db_owner, progress) findings = 0 blobs.each do |blob| db_blob = @db_assessment.save_blob(blob, db_repo, db_owner) Gitrob::BlobObserver.observe(db_blob) if db_blob.flags.count > 0 findings += 1 @db_assessment.findings_count += 1 db_owner.findings_count += 1 db_repo.findings_count += 1 end end db_owner.save db_repo.save progress.increment report_findings(findings, db_repo, progress) rescue => e progress.error("#{e.class}: #{e.message}") end
analyze_repositories()
click to toggle source
# File lib/gitrob/cli/commands/analyze/analysis.rb, line 6 def analyze_repositories repo_progress_bar do |progress| github_data_manager.owners.each do |owner| @db_owner = @db_assessment.save_owner(owner) thread_pool do |pool| repositories_for_owner(owner).each do |repo| pool.process do db_repo = @db_assessment.save_repository(repo, @db_owner) blobs = blobs_for_repository(repo) analyze_blobs(blobs, db_repo, @db_owner, progress) end end end end end end
report_findings(finding_count, repo, progress)
click to toggle source
# File lib/gitrob/cli/commands/analyze/analysis.rb, line 43 def report_findings(finding_count, repo, progress) return if finding_count.zero? files = finding_count == 1 ? "1 file" : "#{finding_count} files" progress.info( "Flagged #{files.to_s.light_yellow} " \ "in #{repo.full_name.bold}") end