Module: BELParser::Parsers::AST

Included in:
Expression::Model::Converters, Expression::Parser
Defined in:
lib/bel_parser/parsers/ast/node.rb

Overview

BEL AST module.

Defined Under Namespace

Modules: Sexp Classes: AnnotationDefinition, Argument, BlankLine, Comment, CommentLine, DocumentProperty, Domain, Function, Identifier, Keyword, List, ListItem, Name, NamespaceDefinition, NestedStatement, Node, Object, ObservedTerm, Parameter, Pattern, Prefix, Relationship, Set, SimpleStatement, Statement, String, Subject, Term, Unset, Uri, Url, Value

Class Method Summary collapse

Class Method Details

.assert_is_a(expected, actual, argument) ⇒ Object

Raises:

  • ArgumentError if argument is not expected



8
9
10
11
12
# File 'lib/bel_parser/parsers/ast/node.rb', line 8

def self.assert_is_a(expected, actual, argument)
  msg = ->(x, y, z) { "Expected #{x} of #{y}, but got #{z}" }
  return if actual.is_a? expected
  raise ArgumentError, msg.call(expected, argument, actual.class)
end