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(subject_result, object_result, syntax, semantics) ⇒ SimpleStatementResult
Returns a new instance of SimpleStatementResult.
239
240
241
242
243
244
245
246
247
248
|
# File 'lib/bel_parser/language/expression_validator.rb', line 239
def initialize(subject_result, object_result, syntax, semantics)
@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.
236
237
238
|
# File 'lib/bel_parser/language/expression_validator.rb', line 236
def semantics_results
@semantics_results
end
|
#syntax_results ⇒ Object
Returns the value of attribute syntax_results.
236
237
238
|
# File 'lib/bel_parser/language/expression_validator.rb', line 236
def syntax_results
@syntax_results
end
|
Instance Method Details
#detail ⇒ Object
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
|
# File 'lib/bel_parser/language/expression_validator.rb', line 302
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
295
296
297
298
299
300
|
# File 'lib/bel_parser/language/expression_validator.rb', line 295
def invalid_object_signatures
@object_result.semantics_results
.select do |res|
res.is_a?(Semantics::SignatureMappingWarning)
end
end
|
#invalid_subject_signatures ⇒ Object
281
282
283
284
285
286
|
# File 'lib/bel_parser/language/expression_validator.rb', line 281
def invalid_subject_signatures
@subject_result.semantics_results
.select do |res|
res.is_a?(Semantics::SignatureMappingWarning)
end
end
|
#object_valid? ⇒ Boolean
270
271
272
|
# File 'lib/bel_parser/language/expression_validator.rb', line 270
def object_valid?
@object_result.valid?
end
|
#subject_valid? ⇒ Boolean
266
267
268
|
# File 'lib/bel_parser/language/expression_validator.rb', line 266
def subject_valid?
@subject_result.valid?
end
|
#valid? ⇒ Boolean
250
251
252
|
# File 'lib/bel_parser/language/expression_validator.rb', line 250
def valid?
valid_syntax? && valid_semantics?
end
|
#valid_object_signatures ⇒ Object
288
289
290
291
292
293
|
# File 'lib/bel_parser/language/expression_validator.rb', line 288
def valid_object_signatures
@object_result.semantics_results
.select do |res|
res.is_a?(Semantics::SignatureMappingSuccess)
end.uniq
end
|
#valid_semantics? ⇒ Boolean
260
261
262
263
264
|
# File 'lib/bel_parser/language/expression_validator.rb', line 260
def valid_semantics?
@subject_result.valid_semantics? &&
@object_result.valid_semantics? &&
@semantics_results.empty?
end
|
#valid_subject_signatures ⇒ Object
274
275
276
277
278
279
|
# File 'lib/bel_parser/language/expression_validator.rb', line 274
def valid_subject_signatures
@subject_result.semantics_results
.select do |res|
res.is_a?(Semantics::SignatureMappingSuccess)
end.uniq
end
|
#valid_syntax? ⇒ Boolean
254
255
256
257
258
|
# File 'lib/bel_parser/language/expression_validator.rb', line 254
def valid_syntax?
@subject_result.valid_syntax? &&
@object_result.valid_syntax? &&
@syntax_results.empty?
end
|