Module: Rescoped::QueryMethods

Defined in:
lib/rescoped/query_methods.rb

Overview

:nodoc:

Constant Summary collapse

SUPPORTED_QUERY_METHODS =
%i[joins left_outer_joins includes].freeze

Instance Method Summary collapse

Instance Method Details

#remove_includes(*args) ⇒ ActiveRecord::Relation

Removes any number of eager loaded relations in scope

Examples:

Model.includes(:a, :b, :c).remove_includes(:a)

Parameters:

  • args (Array<Symbol>)

    associations to remove

Returns:

  • (ActiveRecord::Relation)


34
35
36
37
38
# File 'lib/rescoped/query_methods.rb', line 34

SUPPORTED_QUERY_METHODS.each do |name|
  define_method("remove_#{name}") do |*args|
    rescoped(query_method: name, relations: args)
  end
end

#remove_joins(*args) ⇒ ActiveRecord::Relation

Removes any number of joins relations in scope

Examples:

Model.joins(:a, :b, :c).remove_joins(:a, :b)

Parameters:

  • args (Array<Symbol>)

    associations to remove

Returns:

  • (ActiveRecord::Relation)


# File 'lib/rescoped/query_methods.rb', line 10

#remove_left_outer_joins(*args) ⇒ ActiveRecord::Relation

Removes any number of left outer joins relations in scope

Examples:

Model.left_joins(:a, :b, :c).remove_left_outer_joins(:b)

Parameters:

  • args (Array<Symbol>)

    associations to remove

Returns:

  • (ActiveRecord::Relation)


# File 'lib/rescoped/query_methods.rb', line 18