Flowdock
method

apply_finder_options

Importance_0
v3.0.0 - Show latest stable - 0 notes - Class: ActiveRecord::SpawnMethods
apply_finder_options(options) public

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/relation/spawn_methods.rb, line 85
    def apply_finder_options(options)
      relation = clone
      return relation unless options

      options.assert_valid_keys(VALID_FIND_OPTIONS)

      [:joins, :select, :group, :having, :limit, :offset, :from, :lock].each do |finder|
        if value = options[finder]
          relation = relation.send(finder, value)
        end
      end

      relation = relation.readonly(options[:readonly]) if options.key? :readonly

      # Give precedence to newly-applied orders and groups to play nicely with with_scope
      [:group, :order].each do |finder|
        relation.send("#{finder}_values=", Array.wrap(options[finder]) + relation.send("#{finder}_values")) if options.has_key?(finder)
      end

      relation = relation.where(options[:conditions]) if options.has_key?(:conditions)
      relation = relation.includes(options[:include]) if options.has_key?(:include)
      relation = relation.extending(options[:extend]) if options.has_key?(:extend)

      relation
    end
Register or log in to add new notes.