Sha256: 05e1a5eae0118e61bc6c166e14d8eaa249f343315bfe6de15f9f6f6023cbd886

Contents?: true

Size: 1.43 KB

Versions: 3

Compression:

Stored size: 1.43 KB

Contents

require 'rails/generators/active_record'

module Comfy
  module Generators
    class BlogGenerator < Rails::Generators::Base

      include Rails::Generators::Migration
      include Thor::Actions

      source_root File.expand_path('../../../../..', __FILE__)

      def self.next_migration_number(dirname)
        ActiveRecord::Generators::Base.next_migration_number(dirname)
      end

      def generate_migration
        destination   = File.expand_path('db/migrate/01_create_blog.rb', self.destination_root)
        migration_dir = File.dirname(destination)
        destination   = self.class.migration_exists?(migration_dir, 'create_blog')

        if destination
          puts "\e[0m\e[31mFound existing create_blog migration. Remove it if you want to regenerate.\e[0m"
        else
          migration_template 'db/migrate/01_create_blog.rb', 'db/migrate/create_blog.rb'
        end
      end

      def generate_initialization
        copy_file 'config/initializers/comfy_blog.rb',
          'config/initializers/comfy_blog.rb'
      end

      def generate_routing
        route_string = <<-RUBY.strip_heredoc
          comfy_route :blog_admin, path: "/admin"
          comfy_route :blog, path: "/blog"
        RUBY
        route route_string
      end

      def generate_views
        directory 'app/views/comfy/blog', 'app/views/comfy/blog'
      end

      def show_readme
        readme 'lib/generators/comfy/blog/README'
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
comfy_blog-2.0.2 lib/generators/comfy/blog/blog_generator.rb
comfy_blog-2.0.1 lib/generators/comfy/blog/blog_generator.rb
comfy_blog-2.0.0 lib/generators/comfy/blog/blog_generator.rb