Class: BELParser::Language::ExpressionValidator::SimpleStatementResult
- Inherits:
-
Object
- Object
- BELParser::Language::ExpressionValidator::SimpleStatementResult
show all
- Includes:
- Result
- Defined in:
- lib/bel_parser/language/expression_validator.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Result
#invalid_signature_mappings, #to_s, #valid_signature_mappings
Constructor Details
#initialize(expression_node, subject_result, object_result, syntax, semantics) ⇒ SimpleStatementResult
Returns a new instance of SimpleStatementResult.
267
268
269
270
271
272
273
274
275
276
277
|
# 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
|
Instance Attribute Details
#semantics_results ⇒ Object
Returns the value of attribute semantics_results.
264
265
266
|
# File 'lib/bel_parser/language/expression_validator.rb', line 264
def semantics_results
@semantics_results
end
|
#syntax_results ⇒ Object
Returns the value of attribute syntax_results.
264
265
266
|
# File 'lib/bel_parser/language/expression_validator.rb', line 264
def syntax_results
@syntax_results
end
|
Instance Method Details
#detail ⇒ Object
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
|
# 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 ⇒ Object
324
325
326
327
328
329
|
# 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 ⇒ Object
310
311
312
313
314
315
|
# 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? ⇒ Boolean
299
300
301
|
# File 'lib/bel_parser/language/expression_validator.rb', line 299
def object_valid?
@object_result.valid?
end
|
#subject_valid? ⇒ Boolean
295
296
297
|
# File 'lib/bel_parser/language/expression_validator.rb', line 295
def subject_valid?
@subject_result.valid?
end
|
#valid? ⇒ Boolean
279
280
281
|
# File 'lib/bel_parser/language/expression_validator.rb', line 279
def valid?
valid_syntax? && valid_semantics?
end
|
#valid_object_signatures ⇒ Object
317
318
319
320
321
322
|
# 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? ⇒ Boolean
289
290
291
292
293
|
# 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 ⇒ Object
303
304
305
306
307
308
|
# 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? ⇒ Boolean
283
284
285
286
287
|
# 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
|