Module: BELParser::Language::ExpressionValidator::Result

Included in:
NestedStatementResult, ObservedTermResult, ParameterResult, SimpleStatementResult, TermResult
Defined in:
lib/bel_parser/language/expression_validator.rb

Instance Method Summary collapse

Instance Method Details

#detailObject



102
103
104
# File 'lib/bel_parser/language/expression_validator.rb', line 102

def detail
  ''
end

#invalid_signature_mappingsObject



95
96
97
98
99
100
# File 'lib/bel_parser/language/expression_validator.rb', line 95

def invalid_signature_mappings
  @semantics_results
    .select do |res|
      res.is_a?(Semantics::SignatureMappingWarning)
    end
end

#to_sObject



106
107
108
109
110
111
112
113
# File 'lib/bel_parser/language/expression_validator.rb', line 106

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?Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/bel_parser/language/expression_validator.rb', line 76

def valid?
  valid_syntax? && valid_semantics?
end

#valid_semantics?Boolean

Returns:

  • (Boolean)


84
85
86
# File 'lib/bel_parser/language/expression_validator.rb', line 84

def valid_semantics?
  @semantics_results.empty?
end

#valid_signature_mappingsObject



88
89
90
91
92
93
# File 'lib/bel_parser/language/expression_validator.rb', line 88

def valid_signature_mappings
  @semantics_results
    .select do |res|
      res.is_a?(Semantics::SignatureMappingSuccess)
    end.uniq
end

#valid_syntax?Boolean

Returns:

  • (Boolean)


80
81
82
# File 'lib/bel_parser/language/expression_validator.rb', line 80

def valid_syntax?
  @syntax_results.empty?
end