Class: BELParser::Language::ExpressionValidator::ObservedTermResult
- Inherits:
-
Object
- Object
- BELParser::Language::ExpressionValidator::ObservedTermResult
- Includes:
- Result
- Defined in:
- lib/bel_parser/language/expression_validator.rb
Instance Attribute Summary collapse
-
#semantics_results ⇒ Object
readonly
Returns the value of attribute semantics_results.
-
#syntax_results ⇒ Object
readonly
Returns the value of attribute syntax_results.
Instance Method Summary collapse
- #detail ⇒ Object
-
#initialize(expression_node, subject_result, syntax, semantics) ⇒ ObservedTermResult
constructor
A new instance of ObservedTermResult.
- #subject_valid? ⇒ Boolean
- #valid_semantics? ⇒ Boolean
- #valid_syntax? ⇒ Boolean
Methods included from Result
#invalid_signature_mappings, #to_s, #valid?, #valid_signature_mappings
Constructor Details
#initialize(expression_node, subject_result, syntax, semantics) ⇒ ObservedTermResult
Returns a new instance of ObservedTermResult.
219 220 221 222 223 224 225 226 227 228 |
# File 'lib/bel_parser/language/expression_validator.rb', line 219 def initialize(expression_node, subject_result, syntax, semantics) @expression_node = expression_node @subject_result = subject_result @syntax_results = syntax @semantics_results = semantics.reject! do |res| res.is_a?(Semantics::SignatureMappingWarning) || res.is_a?(Semantics::SignatureMappingSuccess) end end |
Instance Attribute Details
#semantics_results ⇒ Object (readonly)
Returns the value of attribute semantics_results.
216 217 218 |
# File 'lib/bel_parser/language/expression_validator.rb', line 216 def semantics_results @semantics_results end |
#syntax_results ⇒ Object (readonly)
Returns the value of attribute syntax_results.
216 217 218 |
# File 'lib/bel_parser/language/expression_validator.rb', line 216 def syntax_results @syntax_results end |
Instance Method Details
#detail ⇒ Object
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 |
# File 'lib/bel_parser/language/expression_validator.rb', line 242 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 end |
#subject_valid? ⇒ Boolean
238 239 240 |
# File 'lib/bel_parser/language/expression_validator.rb', line 238 def subject_valid? valid? end |
#valid_semantics? ⇒ Boolean
234 235 236 |
# File 'lib/bel_parser/language/expression_validator.rb', line 234 def valid_semantics? @subject_result.valid_semantics? && @semantics_results.empty? end |
#valid_syntax? ⇒ Boolean
230 231 232 |
# File 'lib/bel_parser/language/expression_validator.rb', line 230 def valid_syntax? @subject_result.valid_syntax? && @syntax_results.empty? end |