lib/generators/devise_fido_usf/install_generator.rb
require 'rails/generators/base'
module DeviseFidoUsf
module Generators
MissingORMError = Class.new(Thor::Error)
class InstallGenerator < Rails::Generators::Base
source_root File.expand_path("../../templates", __FILE__)
desc "Creates a FIDO U2F initializer for devise and copy locale files to your application."
class_option :orm
def copy_initializer
unless options[:orm]
raise MissingORMError, <<-ERROR.strip_heredoc
An ORM must be set to install Devise in your application.
Be sure to have an ORM like Active Record or Mongoid loaded in your
app or configure your own at `config/application.rb`.
config.generators do |g|
g.orm :your_orm_gem
end
ERROR
end
end
def copy_locale
copy_file "../../../config/locales/en.yml", "config/locales/fido_usf.en.yml"
end
def run_migration
invoke("devise_fido_usf:migrate", ["FidoUsfDevices"])
end
def show_readme
readme("README") if behavior == :invoke
end
end
end
end