Sha256: 26e71937b29f2ef5d4039ff5e90aac137a9d2006b74b509c5378a04ec727541f

Contents?: true

Size: 1.49 KB

Versions: 8

Compression:

Stored size: 1.49 KB

Contents

class HoboModelControllerGenerator < Rails::Generator::NamedBase

  def initialize(args, options)
    args[0] = args[0].pluralize
    super(args, options)
  end
  
  attr_reader :subsite

  def manifest
    record do |m|
      # Check for class naming collisions.
      m.class_collisions class_path, "#{class_name}Controller", "#{class_name}ControllerTest", "#{class_name}Helper"
      
      if class_path.length == 1 and
        subsite = class_path.first and
        File.exist?(File.join('app/controllers', class_path, "#{subsite}_site_controller.rb"))
        
        @subsite = subsite.camelize
      end

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

      # Controller class, functional test, and helper class.
      m.template 'controller.rb',
                  File.join('app/controllers',
                            class_path,
                            "#{file_name}_controller.rb")

      m.template 'functional_test.rb',
                  File.join('test/functional',
                            class_path,
                            "#{file_name}_controller_test.rb")

      m.template 'helper.rb',
                  File.join('app/helpers',
                            class_path,
                            "#{file_name}_helper.rb")
    end
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
hobo-0.9.0 rails_generators/hobo_model_controller/hobo_model_controller_generator.rb
hobo-0.8.10 rails_generators/hobo_model_controller/hobo_model_controller_generator.rb
hobo-0.8.9 rails_generators/hobo_model_controller/hobo_model_controller_generator.rb
hobo-0.8.8 rails_generators/hobo_model_controller/hobo_model_controller_generator.rb
hobo-0.8.5 rails_generators/hobo_model_controller/hobo_model_controller_generator.rb
hobo-0.8.4 rails_generators/hobo_model_controller/hobo_model_controller_generator.rb
hobo-0.8.6 rails_generators/hobo_model_controller/hobo_model_controller_generator.rb
hobo-0.8.7 rails_generators/hobo_model_controller/hobo_model_controller_generator.rb