File: //usr/local/rvm/gems/default/doc/activerecord-6.1.4.1/ri/ActiveRecord/QueryMethods/extending-i.ri
U:RDoc::AnyMethod[iI"extending:ETI")ActiveRecord::QueryMethods#extending;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"DUsed to extend a scope with additional methods, either through ;TI"*a module or through a block provided.;To:RDoc::Markup::BlankLine o;
; [I"FThe object returned is a relation, which can be further extended.;T@S:RDoc::Markup::Heading:
leveli: textI"Using a module;T@o:RDoc::Markup::Verbatim; [
I"module Pagination
;TI" def page(number)
;TI"% # pagination code goes here
;TI" end
;TI" end
;TI"
;TI"-scope = Model.all.extending(Pagination)
;TI"scope.page(params[:page])
;T:@format0o;
; [I")You can also pass a list of modules:;T@o;; [I"<scope = Model.all.extending(Pagination, SomethingElse)
;T;0S;;
i;I"Using a block;T@o;; [I"$scope = Model.all.extending do
;TI" def page(number)
;TI"% # pagination code goes here
;TI" end
;TI" end
;TI"scope.page(params[:page])
;T;0o;
; [I"0You can also use a block and a module list:;T@o;; [
I"0scope = Model.all.extending(Pagination) do
;TI" def per_page(number)
;TI"% # pagination code goes here
;TI" end
;TI"end;T;0:
@fileI"0lib/active_record/relation/query_methods.rb;T:0@omit_headings_from_table_of_contents_below000[ I"(*modules, &block);T@9FI"QueryMethods;TcRDoc::NormalModule00