Method: Super::Query#build

Defined in:
lib/super/query.rb

#build(klass, namespace:, **additional_initialization_arguments) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/super/query.rb', line 23

def build(klass, namespace:, **additional_initialization_arguments)
  params_for_querier =
    params.fetch(namespace) { ActiveSupport::HashWithIndifferentAccess.new }

  instance = klass.new(
    model: model,
    params: params_for_querier,
    **additional_initialization_arguments
  )

  addons[namespace] = instance
  backwards_addons[instance] = namespace
  instance
end