Class: ControllerLoader
- Inherits:
-
Loader
- Object
- Loader
- ControllerLoader
- Defined in:
- lib/shot_mvc/controller_loader.rb
Instance Method Summary collapse
- #get(controller) ⇒ Object
-
#initialize(client) ⇒ ControllerLoader
constructor
A new instance of ControllerLoader.
Constructor Details
#initialize(client) ⇒ ControllerLoader
Returns a new instance of ControllerLoader.
32 33 34 35 |
# File 'lib/shot_mvc/controller_loader.rb', line 32 def initialize(client) super(client) @type = 'controller' end |
Instance Method Details
#get(controller) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/shot_mvc/controller_loader.rb', line 37 def get(controller) if controller_exists? controller if direct_path_to_controller? controller load controller controller_class_name = get_controller_class_from_path controller controller_object = get_controller_object controller_class_name controller_instance = controller_object.new @client call_setup_method controller_object, controller_instance controller_instance else load "application/controllers/#{controller.underscore}_controller.rb" controller_class_name = get_controller_class controller controller_object = get_controller_object controller_class_name controller_instance = controller_object.new @client call_setup_method controller_object, controller_instance controller_instance end else raise ControllerLoadException.new "Error loading controller #{controller}. Please verify that it exists at application/controllers/#{controller.underscore}.rb" end end |