Method: ResourceGenerator#manifest

Defined in:
lib/rails_generator/generators/components/resource/resource_generator.rb

#manifestObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/rails_generator/generators/components/resource/resource_generator.rb', line 30

def manifest
  record do |m|
    # Check for class naming collisions.
    m.class_collisions(controller_class_path, "#{controller_class_name}Controller", "#{controller_class_name}Helper")
    m.class_collisions(class_path, "#{class_name}")

    # Controller, helper, views, and test directories.
    m.directory(File.join('app/models', class_path))
    m.directory(File.join('app/controllers', controller_class_path))
    m.directory(File.join('app/helpers', controller_class_path))
    m.directory(File.join('app/views', controller_class_path, controller_file_name))
    m.directory(File.join('test/functional', controller_class_path))
    m.directory(File.join('test/unit', class_path))

    m.dependency 'model', [name] + @args, :collision => :skip

    m.template(
      'controller.rb', File.join('app/controllers', controller_class_path, "#{controller_file_name}_controller.rb")
    )

    m.template('functional_test.rb', File.join('test/functional', controller_class_path, "#{controller_file_name}_controller_test.rb"))
    m.template('helper.rb',          File.join('app/helpers',     controller_class_path, "#{controller_file_name}_helper.rb"))

    m.route_resources controller_file_name
  end
end