module CC::Analyzer::Validator

Attributes

document[R]
error[R]

Public Class Methods

new(document) click to toggle source
# File lib/cc/analyzer/validator.rb, line 6
def initialize(document)
  @document = document
  validate
end

Public Instance Methods

valid?()
Alias for: validate
validate() click to toggle source
# File lib/cc/analyzer/validator.rb, line 11
def validate
  return @valid unless @valid.nil?

  if document && invalid_messages.any?
    @error = {
      message: "#{invalid_messages.join("; ")}: `#{document}`.",
      document: document,
    }
    @valid = false
  else
    @valid = true
  end
end
Also aliased as: valid?

Private Instance Methods

invalid_messages() click to toggle source
# File lib/cc/analyzer/validator.rb, line 30
def invalid_messages
  @invalid_messages ||= self.class.validations.each_with_object([]) do |check, result|
    validator = check.new(document)
    result << validator.message unless validator.valid?
  end
end