class BELParser::Language::ExpressionValidator::SimpleStatementResult

Attributes

semantics_results[R]
syntax_results[R]

Public Class Methods

new(expression_node, subject_result, object_result, syntax, semantics) click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 267
def initialize(expression_node, subject_result, object_result, syntax, semantics)
  @expression_node   = expression_node
  @subject_result    = subject_result
  @object_result     = object_result
  @syntax_results    = syntax
  @semantics_results =
    semantics.reject! do |res|
      res.is_a?(Semantics::SignatureMappingWarning) ||
      res.is_a?(Semantics::SignatureMappingSuccess)
    end
end

Public Instance Methods

detail() click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 331
def detail
  report = "Subject term - Valid signatures\n"
  @subject_result.valid_signature_mappings.each do |mapping|
    report += "  #{mapping.signature}\n"
    mapping.results.each do |reason|
      report += "    #{reason}\n"
    end
  end
  report += "\n"

  report += "Subject term - Invalid signatures\n"
  @subject_result.invalid_signature_mappings.each do |mapping|
    report += "  #{mapping.signature}\n"
    mapping.results.each do |reason|
      report += "    #{reason}\n"
    end
  end
  report += "\n"

  report += "Object term - Valid signatures\n"
  @object_result.valid_signature_mappings.each do |mapping|
    report += "  #{mapping.signature}\n"
    mapping.results.each do |reason|
      report += "    #{reason}\n"
    end
  end
  report += "\n"

  report += "Object term - Invalid signatures\n"
  @object_result.invalid_signature_mappings.each do |mapping|
    report += "  #{mapping.signature}\n"
    mapping.results.each do |reason|
      report += "    #{reason}\n"
    end
  end
  report
end
invalid_object_signatures() click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 324
def invalid_object_signatures
  @object_result.semantics_results
    .select do |res|
      res.is_a?(Semantics::SignatureMappingWarning)
    end
end
invalid_subject_signatures() click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 310
def invalid_subject_signatures
  @subject_result.semantics_results
    .select do |res|
      res.is_a?(Semantics::SignatureMappingWarning)
    end
end
object_valid?() click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 299
def object_valid?
  @object_result.valid?
end
subject_valid?() click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 295
def subject_valid?
  @subject_result.valid?
end
valid?() click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 279
def valid?
  valid_syntax? && valid_semantics?
end
valid_object_signatures() click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 317
def valid_object_signatures
  @object_result.semantics_results
    .select do |res|
      res.is_a?(Semantics::SignatureMappingSuccess)
    end.uniq
end
valid_semantics?() click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 289
def valid_semantics?
  @subject_result.valid_semantics? &&
    @object_result.valid_semantics? &&
    @semantics_results.empty?
end
valid_subject_signatures() click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 303
def valid_subject_signatures
  @subject_result.semantics_results
    .select do |res|
      res.is_a?(Semantics::SignatureMappingSuccess)
    end.uniq
end
valid_syntax?() click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 283
def valid_syntax?
  @subject_result.valid_syntax? &&
    @object_result.valid_syntax? &&
    @syntax_results.empty?
end