require 'rails/generators/active_record'
require 'generators/devise/orm_helpers'

module ActiveRecord
  module Generators
    class DeviseGuestsGenerator < ActiveRecord::Generators::Base
      include Devise::Generators::OrmHelpers
      source_root File.expand_path("../templates", __FILE__)

      def copy_devise_migration
          migration_template "migration_existing.rb",
                             "db/migrate/add_devise_guests_to_#{table_name}.rb",
                             migration_version: migration_version
      end

      def migration_data
<<RUBY
      ## Database authenticatable
      t.boolean :guest, :default => false
RUBY
      end

      def rails4?
        Rails.version.start_with? '4'
      end

      def migration_version
        return if rails4?
        "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
      end
    end
  end
end