Sha256: bcd80aa6d1a73d97b41ccd9da531213721fcbe62787ef6ac7fb8cd110565fa20

Contents?: true

Size: 1020 Bytes

Versions: 43

Compression:

Stored size: 1020 Bytes

Contents

# frozen_string_literal: true

module Git
  module Lint
    # Collects and categorizes, by severity, all issues (if any).
    class Collector
      def initialize
        @collection = Hash.new { |default, missing_id| default[missing_id] = [] }
      end

      def add analyzer
        collection[analyzer.commit] << analyzer
        analyzer
      end

      def retrieve(id) = collection[id]

      def clear = collection.clear && self

      def empty? = collection.empty?

      def warnings? = collection.values.flatten.any?(&:warning?)

      def errors? = collection.values.flatten.any?(&:error?)

      def issues? = collection.values.flatten.any?(&:invalid?)

      def total_warnings = collection.values.flatten.count(&:warning?)

      def total_errors = collection.values.flatten.count(&:error?)

      def total_issues = collection.values.flatten.count(&:invalid?)

      def total_commits = collection.keys.size

      def to_h = collection

      private

      attr_reader :collection
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
git-lint-9.0.0 lib/git/lint/collector.rb
git-lint-8.8.0 lib/git/lint/collector.rb
git-lint-8.7.0 lib/git/lint/collector.rb
git-lint-8.6.0 lib/git/lint/collector.rb
git-lint-8.5.0 lib/git/lint/collector.rb
git-lint-8.4.0 lib/git/lint/collector.rb
git-lint-8.3.0 lib/git/lint/collector.rb
git-lint-8.2.0 lib/git/lint/collector.rb
git-lint-8.1.0 lib/git/lint/collector.rb
git-lint-8.0.0 lib/git/lint/collector.rb
git-lint-7.5.0 lib/git/lint/collector.rb
git-lint-7.3.0 lib/git/lint/collector.rb
git-lint-7.2.0 lib/git/lint/collector.rb
git-lint-7.1.0 lib/git/lint/collector.rb
git-lint-7.0.0 lib/git/lint/collector.rb
git-lint-6.2.1 lib/git/lint/collector.rb
git-lint-6.2.0 lib/git/lint/collector.rb
git-lint-6.1.0 lib/git/lint/collector.rb
git-lint-6.0.2 lib/git/lint/collector.rb
git-lint-6.0.1 lib/git/lint/collector.rb