Class: Corneal::Generators::ControllerGenerator

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/corneal/generators/controller/controller_generator.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#class_nameObject (readonly)

Returns the value of attribute class_name.



8
9
10
# File 'lib/corneal/generators/controller/controller_generator.rb', line 8

def class_name
  @class_name
end

#controller_nameObject (readonly)

Returns the value of attribute controller_name.



8
9
10
# File 'lib/corneal/generators/controller/controller_generator.rb', line 8

def controller_name
  @controller_name
end

#file_nameObject (readonly)

Returns the value of attribute file_name.



8
9
10
# File 'lib/corneal/generators/controller/controller_generator.rb', line 8

def file_name
  @file_name
end

Class Method Details

.source_rootObject



16
17
18
# File 'lib/corneal/generators/controller/controller_generator.rb', line 16

def self.source_root
  File.dirname(__FILE__)
end

Instance Method Details

#create_controllerObject



26
27
28
29
# File 'lib/corneal/generators/controller/controller_generator.rb', line 26

def create_controller
  template "templates/controller.rb.erb", File.join("app/controllers", "#{file_name}.rb")
  insert_into_file "config.ru", "use #{class_name}\n", after: "run ApplicationController\n"
end

#create_viewsObject



31
32
33
34
# File 'lib/corneal/generators/controller/controller_generator.rb', line 31

def create_views
  return unless options[:views]
  directory "templates/views", File.join("app/views", "#{controller_name}")
end

#setupObject



20
21
22
23
24
# File 'lib/corneal/generators/controller/controller_generator.rb', line 20

def setup
  @controller_name = name.pluralize.underscore
  @class_name      = "#{controller_name.camel_case}Controller"
  @file_name       = class_name.underscore
end