class ParamsReady::Query::PolymorphPredicateBuilder

Public Class Methods

instance(name, altn: nil) click to toggle source
# File lib/params_ready/query/polymorph_predicate.rb, line 35
def self.instance(name, altn: nil)
  new PolymorphPredicateDefinition.new name, altn: altn
end

Public Instance Methods

identifier(identifier) click to toggle source
# File lib/params_ready/query/polymorph_predicate.rb, line 46
def identifier(identifier)
  @definition.set_identifier(identifier)
end
type(type_name, *args, **opts, &block) click to toggle source
# File lib/params_ready/query/polymorph_predicate.rb, line 39
def type(type_name, *args, **opts, &block)
  builder = PredicateRegistry.predicate(type_name).instance(*args, **opts)
  builder.instance_eval(&block) unless block.nil?
  type = builder.build
  @definition.add_type type
end