Method: GraphQL::StaticValidation::BaseVisitor.including_rules
- Defined in:
- lib/graphql/static_validation/base_visitor.rb
.including_rules(rules) ⇒ Class
Build a class to visit the AST and perform validation,
or use a pre-built class if rules is ALL_RULES or empty.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/graphql/static_validation/base_visitor.rb', line 32 def self.including_rules(rules) if rules.empty? # It's not doing _anything?!?_ BaseVisitor elsif rules == ALL_RULES InterpreterVisitor else visitor_class = Class.new(self) do include(GraphQL::StaticValidation::DefinitionDependencies) end rules.reverse_each do |r| # If it's a class, it gets attached later. if !r.is_a?(Class) visitor_class.include(r) end end visitor_class.include(ContextMethods) visitor_class end end |