class ParamsReady::Query::RelationDefinition

Attributes

joins[R]

Public Class Methods

new(*args, **opts) click to toggle source
Calls superclass method
# File lib/params_ready/query/relation.rb, line 322
def initialize(*args, **opts)
  @joins = []
  @ordering_builder = nil
  super
end

Public Instance Methods

arel_table() click to toggle source
# File lib/params_ready/query/relation.rb, line 312
def arel_table
  model_class.arel_table
end
finish() click to toggle source
Calls superclass method
# File lib/params_ready/query/relation.rb, line 328
def finish
  raise ParamsReadyError, 'Ordering must be explicitly declared' if @ordering_builder&.open?
  @ordering_builder = nil
  super
end
init_ordering_builder(empty:) click to toggle source
# File lib/params_ready/query/relation.rb, line 307
def init_ordering_builder(empty:)
  raise ParamsReadyError, 'Ordering already defined' if empty == true && !@ordering_builder.nil?
  @ordering_builder ||= Ordering::OrderingParameterBuilder.instance
end
model_class() click to toggle source
# File lib/params_ready/query/relation.rb, line 302
def model_class
  raise ParamsReadyError, "Model class not set for #{name}" if @model_class.nil?
  @model_class
end
model_class_defined?() click to toggle source
# File lib/params_ready/query/relation.rb, line 316
def model_class_defined?
  !@model_class.nil?
end