class BELParser::Expression::Validator

Parser for BEL Expression.

Constants

TYPES

Public Class Methods

new(specification, namespaces, uri_reader, url_reader) click to toggle source
# File lib/bel_parser/expression/validator.rb, line 23
def initialize(specification, namespaces, uri_reader, url_reader)
  @spec      = specification
  @validator = BELParser::Language::ExpressionValidator.new(
    @spec, namespaces, uri_reader, url_reader)
end

Public Instance Methods

each(io) { |num, line, ast, validate| ... } click to toggle source
# File lib/bel_parser/expression/validator.rb, line 29
def each(io)
  if block_given?
    filter = BELParser::ASTFilter.new(
      BELParser::ASTGenerator.new(io),
      *TYPES)
    filter.each do |(num, line, results)|
      results.each do |ast|
        yield [num, line, ast, @validator.validate(ast)]
      end
    end
  else
    enum_for(:each, io)
  end
end