require "rails/generators/active_record"

module PgAuditLog
  module Generators
    class InstallGenerator < Rails::Generators::Base
      include Rails::Generators::Migration
      extend ::ActiveRecord::Generators::Migration

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

      def install
        directory "lib/tasks"
        migration_template "migration.rb", "db/migrate/install_pg_audit_log"
      end

    end
  end
end

require "rails/generators/active_record"

module PgAuditLog
  module Generators
    class InstallGenerator < ::ActiveRecord::Generators::Base
      # ActiveRecord::Generators::Base inherits from Rails::Generators::NamedBase which requires a NAME parameter for the
      # new table name. Our generator doesn't require a name, so we just set a random name here.
      argument :name, type: :string, default: "random_name"
      
      source_root File.expand_path('../templates', __FILE__)

      def install
        directory "lib/tasks"
        migration_template "migration.rb", "db/migrate/install_pg_audit_log"
      end
    end
  end
end

Update generator to be Rails 4 compliant
Update generator to be Rails 4 compliant

The default argument workaround was originally found here: https://github.com/norman/friendly_id/pull/392