class BELParser::Language::ExpressionValidator::NestedStatementResult
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 374 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 447 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_result.detail report end
invalid_object_signatures()
click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 431 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 417 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 406 def object_valid? @object_result.valid? end
subject_valid?()
click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 402 def subject_valid? @subject_result.valid? end
to_s()
click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 438 def to_s <<-HEADER.gsub(/^ {12}/, '') Syntax: #{valid_syntax? ? 'Valid' : 'Invalid'} Semantics: #{valid_semantics? ? 'Valid' : 'Invalid'} #{syntax_errors_s}#{semantics_errors_s}#{detail} HEADER end
valid?()
click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 386 def valid? valid_syntax? && valid_semantics? end
valid_object_signatures()
click to toggle source
# File lib/bel_parser/language/expression_validator.rb, line 424 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 396 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 410 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 390 def valid_syntax? @subject_result.valid_syntax? && @object_result.valid_syntax? && @syntax_results.empty? end