Class: Sunrise::Scaffold::ManageGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/sunrise/scaffold/manage_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



12
13
14
# File 'lib/generators/sunrise/scaffold/manage_generator.rb', line 12

def self.source_root
  @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), "/templates"))
end

Instance Method Details

#create_controller_filesObject



16
17
18
19
20
21
22
# File 'lib/generators/sunrise/scaffold/manage_generator.rb', line 16

def create_controller_files
  template "#{generator_dir}/controller.rb", 
           File.join('app/controllers', manage_path, "#{controller_file_name}_controller.rb")
  
  template "#{generator_dir}/helper.rb",
           File.join('app/helpers', manage_path, "#{controller_file_name}_helper.rb")    
end

#create_tests_filesObject



24
25
26
27
# File 'lib/generators/sunrise/scaffold/manage_generator.rb', line 24

def create_tests_files
  template "#{generator_dir}/spec/controller_spec.rb",
           File.join('spec/controllers', manage_path, "#{controller_file_name}_controller_spec.rb")
end

#create_views_filesObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/generators/sunrise/scaffold/manage_generator.rb', line 29

def create_views_files
  # model form
  template "#{generator_dir}/views/form.html.erb",
           File.join('app/views', manage_path, controller_file_name, "_form.html.erb")
  
  # search filter
  template "#{generator_dir}/views/model_filter.html.erb",
           File.join('app/views', manage_path, controller_file_name, "_model_filter.html.erb")
  
  # collection view partial
  template "#{generator_dir}/views/item.html.erb",
           File.join('app/views', manage_path, controller_file_name, "_#{singular_name}.html.erb")
  
  # other templates
  [:index, :new, :edit, :show].each do |action|
    template "#{generator_dir}/views/#{action}.html.erb",
           File.join('app/views', manage_path, controller_file_name, "#{action}.html.erb")
  end
end