Method: Effective::CrudController::Dsl#datatable

Defined in:
app/controllers/concerns/effective/crud_controller/dsl.rb

#datatable(obj = nil, opts = {}, &block) ⇒ Object

datatable -> { MyDatatable.new }, only: [:index]



71
72
73
74
75
76
77
78
79
# File 'app/controllers/concerns/effective/crud_controller/dsl.rb', line 71

def datatable(obj = nil, opts = {}, &block)
  raise 'expected a proc or block' unless (obj.respond_to?(:call) || block_given?)

  instance_exec do
    before_action(opts) do
      @datatable ||= (block_given? ? instance_exec(&block) : obj.call)
    end
  end
end