codeclimate/codeclimate

View on GitHub
lib/cc/analyzer/issue_validations/category_validation.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
module CC
  module Analyzer
    module IssueValidations
      class CategoryValidation < Validation
        CATEGORIES = [
          "Bug Risk".freeze,
          "Clarity".freeze,
          "Compatibility".freeze,
          "Complexity".freeze,
          "Duplication".freeze,
          "Performance".freeze,
          "Security".freeze,
          "Style".freeze,
        ].freeze

        def valid?
          object["categories"].present? && no_invalid_categories?
        end

        def message
          "Category must be at least one of #{CATEGORIES.join(", ")}"
        end

        private

        def no_invalid_categories?
          (CATEGORIES | object["categories"]) == CATEGORIES
        end
      end
    end
  end
end