Class: ControllerRouter

Inherits:
Router
  • Object
show all
Defined in:
lib/shot_mvc/controller_router.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ ControllerRouter



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/shot_mvc/controller_router.rb', line 13

def initialize(client)
  super(client)

  client.on 'call_controller_action' do |data|
    controller = data['controller']
    if controller.include? 'GemRoot' then controller['GemRoot'] = gem_root end

    action = data['action']
    data = (data['data'] or nil)

    controller = @client.get 'controller', controller

    if controller.view_private.include? action then
      raise ControllerLoadException.new "#{controller}##{action} is not view accessible."
    end

    if data then controller.send(action, data) else controller.send(action) end
  end
end