Flowdock
method

extending

Importance_2
v3.2.8 - Show latest stable - 0 notes - Class: ActiveRecord::QueryMethods
extending(*modules) public

Used to extend a scope with additional methods, either through a module or through a block provided.

The object returned is a relation, which can be further extended.

Using a module

module Pagination
  def page(number)
    # pagination code goes here
  end
end

scope = Model.scoped.extending(Pagination)
scope.page(params[:page])

You can also pass a list of modules:

scope = Model.scoped.extending(Pagination, SomethingElse)

Using a block

scope = Model.scoped.extending do
  def page(number)
    # pagination code goes here
  end
end
scope.page(params[:page])

You can also use a block and a module list:

scope = Model.scoped.extending(Pagination) do
  def per_page(number)
    # pagination code goes here
  end
end
Show source
Register or log in to add new notes.