Class: SunriseScaffold::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



11
12
13
# File 'lib/generators/sunrise_scaffold/manage_generator.rb', line 11

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

Instance Method Details

#create_controller_filesObject



15
16
17
18
19
20
21
# File 'lib/generators/sunrise_scaffold/manage_generator.rb', line 15

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



23
24
25
26
# File 'lib/generators/sunrise_scaffold/manage_generator.rb', line 23

def create_tests_files
  template "#{generator_dir}/functional_test.rb",
           File.join('test/functional', manage_path, "#{controller_file_name}_controller_test.rb")
end

#create_views_filesObject



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

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