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



127
128
129
# File 'lib/bel_parser/language/expression_validator.rb', line 127

def detail
  ''
end

#invalid_signature_mappingsObject



120
121
122
123
124
125
# File 'lib/bel_parser/language/expression_validator.rb', line 120

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

#to_sObject



131
132
133
134
135
136
137
138
# File 'lib/bel_parser/language/expression_validator.rb', line 131

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)


100
101
102
# File 'lib/bel_parser/language/expression_validator.rb', line 100

def valid?
  valid_syntax? && valid_semantics?
end

#valid_semantics?Boolean

Returns:

  • (Boolean)


108
109
110
# File 'lib/bel_parser/language/expression_validator.rb', line 108

def valid_semantics?
  @semantics_results.empty?
end

#valid_signature_mappingsObject



112
113
114
115
116
117
118
# File 'lib/bel_parser/language/expression_validator.rb', line 112

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

#valid_syntax?Boolean

Returns:

  • (Boolean)


104
105
106
# File 'lib/bel_parser/language/expression_validator.rb', line 104

def valid_syntax?
  @syntax_results.empty?
end