Sha256: 7f969e81894ba40bf8491d81e05c1a357bc5dfb5312bb9113a246d4e50b5776f

Contents?: true

Size: 1.03 KB

Versions: 12

Compression:

Stored size: 1.03 KB

Contents

require 'rails/generators'
module Trackman
  class ControllerGenerator < Rails::Generators::Base
    source_root File.expand_path('../templates', __FILE__)
    argument :controller_name, :type => :string, :default => 'errors'
   
    @@actions = ['not_found', 'error', 'maintenance', 'maintenance_error']
    @@routes = {'404' => 'not_found', '500' => 'error', '503' => 'maintenance', '503-error' => 'maintenance_error'}

    def create_controller
      template "controller_layout.rb.erb", "app/controllers/#{controller_name}_controller.rb"
    end

    def create_views
      create_views_for(:erb)
    end
    
    def create_routes
      @@routes.each do |k, v|
        route "match \"#{controller_name.camelize}/#{k}\", :to => \"#{controller_name}##{v}\""
      end
    end
    
    protected
      def create_views_for(engine)
        view_folder = "app/views/#{controller_name}"
        layout = "view_layout.html.#{engine}"

        @@actions.each do |n|
          template layout, "#{view_folder}/#{n}.html.#{engine}"
        end
      end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
trackman-0.6.18 lib/generators/controller/controller_generator.rb
trackman-0.6.17 lib/generators/controller/controller_generator.rb
trackman-0.6.16 lib/generators/controller/controller_generator.rb
trackman-0.6.15 lib/generators/controller/controller_generator.rb
trackman-0.6.14 lib/generators/controller/controller_generator.rb
trackman-0.6.13 lib/generators/controller/controller_generator.rb
trackman-0.6.12 lib/generators/controller/controller_generator.rb
trackman-0.6.11 lib/generators/controller/controller_generator.rb
trackman-0.6.10 lib/generators/controller/controller_generator.rb
trackman-0.6.9 lib/generators/controller/controller_generator.rb
trackman-0.6.8 lib/generators/controller/controller_generator.rb
trackman-0.6.7 lib/generators/controller/controller_generator.rb