Module: ControllerCallbacks

Included in:
ControllerBase
Defined in:
lib/scaffold/lib/controller/controller_callbacks.rb

Constant Summary collapse

METHODS =
[:index, :create, :new, :edit, :update, :show, :destroy]

Instance Method Summary collapse

Instance Method Details

#before_action(method, options = { only: METHODS, except: [] }) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/scaffold/lib/controller/controller_callbacks.rb', line 4

def before_action(method, options = { only: METHODS, except: [] })
default = { only: METHODS, except: [] }
default.merge!(options)

  names = default[:only] - default[:except]
  names.each do |name|
    m = instance_method(name)
    define_method(name) do
      
      m.bind(self).call unless send(method)
    end
  end
end