Sha256: 069de2d8cc5ea1a30b5364ac47d8ac50ed098559200ece0effd81c96fbad9eed

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 KB

Contents

require 'rails/generators'
require 'rails/generators/migration'    

class Gluttonberg::BlogGenerator < Rails::Generators::Base
  include Rails::Generators::Migration
  
  def self.source_root
    @source_root ||= File.join(File.dirname(__FILE__), 'templates')
  end
  
  def self.next_migration_number(dirname)
    Gluttonberg.next_migration_number(dirname)
  end

  def create_migration_file
    migration_template 'blog_migration.rb', 'db/migrate/blog_migration.rb'
  end
  
  def generate_views
    build_views
  end
    
  protected

    def build_views
      views = {
        'blogs_index.html.haml' => File.join('app/views/gluttonberg/public/blog/blogs', "index.html.haml"),
        'blogs_show.html.haml' => File.join('app/views/gluttonberg/public/blog/blogs', "show.html.haml"),
        'articles_index.html.haml' => File.join('app/views/gluttonberg/public/blog/articles', "index.html.haml"),
        'articles_show.html.haml' => File.join('app/views/gluttonberg/public/blog/articles', "show.html.haml"),
        'articles_tag.html.haml' => File.join('app/views/gluttonberg/public/blog/articles', "tag.html.haml")
      }
      copy_views(views)
    end

    def copy_views(views)
      views.each do |template_name, output_path|
        template template_name, output_path
      end
    end
    
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gluttonberg-blog-1.0.0 lib/generators/gluttonberg/blog/blog_generator.rb