Sha256: b705bc4d84990a94267f3f37fa7cdd981e0066fac1ca4d9d6ae28f03488a5502
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
module CC module Analyzer class IssueValidator CHECKS = [ IssueCategoryValidation, IssueCheckNamePresenceValidation, IssueDescriptionPresenceValidation, IssuePathExistenceValidation, IssuePathPresenceValidation, IssueRelativePathValidation, IssueTypeValidation, ].freeze attr_reader :error def initialize(issue) @issue = issue validate end def validate return @valid unless @valid.nil? if issue && invalid_messages.any? @error = { message: "#{invalid_messages.join("; ")}: `#{issue}`.", issue: issue, } @valid = false else @valid = true end end alias valid? validate private attr_reader :issue def invalid_messages @invalid_messages ||= CHECKS.each_with_object([]) do |check, result| validator = check.new(issue) result << validator.message unless validator.valid? end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
codeclimate-0.25.1 | lib/cc/analyzer/issue_validator.rb |