Class: ControllerDelegate

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create_controller(controller_name, *actions) ⇒ Object



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

def self.create_controller(controller_name, *actions)
  template = "require 'shot_mvc'\n\nclass \#{controller_name}Controller < Controller\n def setup()\n\n end\n <% actions.each do |action| %>\n def <%=action%>\n\n end\n <% end %>\nend\n"

  template = ERB.new template
  File.write "application/controllers/#{controller_name.underscore}_controller.rb", template.result(binding)
end

Instance Method Details

#delete_controller(controller_name) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/shot_mvc/controller_delegate.rb', line 35

def delete_controller(controller_name)
  if File.exists? "application/controllers/#{controller_name.underscore}_controller.rb"
    File.unlink "application/controllers/#{controller_name.underscore}_controller.rb"
  else
    raise ControllerNotFoundException.new "Could not find controller named #{controller_name}"
  end
end