Module: Handles::SortableColumns::MetaClassMethods

Defined in:
lib/handles/sortable_columns.rb

Overview

Config

Instance Method Summary collapse

Instance Method Details

#handles_sortable_columns(fopts = {}, &block) ⇒ Object

Activate and optionally configure the sortable columns feature in your controller.

class MyController < ApplicationController
handles_sortable_columns
...

With configuration:

class MyController < ApplicationController
handles_sortable_columns do |conf|
  conf.sort_param = "s"
  conf.page_param = "p"
  conf.indicator_text = {}
  ...
end
...

With filter options:

class MyController < ApplicationController
handles_sortable_columns(:only => [:index]) do |conf|
  ...
end
...

NOTE: conf is a Config object.



124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'lib/handles/sortable_columns.rb', line 124

def handles_sortable_columns(fopts = {}, &block)
  # Multiple activation protection.
  if not self < InstanceMethods
    include InstanceMethods
    helper_method :sortable_column
  end

  # Process configuration at every activation.
  before_filter(fopts) do |ac|
    ac.instance_eval do
      # NOTE: Can't `yield`, we're in a block already.
      block.call(sortable_columns_config) if block
    end
  end
end