class ActiveRecord::Generators::DeviseTwoFactorGenerator

Public Instance Methods

content() click to toggle source
# File lib/generators/active_record/devise_two_factor_generator.rb, line 22
      def content
<<RUBY
  attr_encrypted :otp_auth_secret
  attr_encrypted :otp_recovery_secret
  validates :otp_auth_secret, symmetric_encryption: true
  validates :otp_recovery_secret, symmetric_encryption: true
RUBY
      end
copy_devise_migration() click to toggle source
# File lib/generators/active_record/devise_two_factor_generator.rb, line 8
def copy_devise_migration
  migration_template 'migration.rb', "db/migrate/devise_two_factor_add_to_#{table_name}.rb"
end
inject_field_types() click to toggle source
# File lib/generators/active_record/devise_two_factor_generator.rb, line 12
def inject_field_types
  class_path = if namespaced?
    class_name.to_s.split("::")
  else
    [class_name]
  end

  inject_into_class(model_path, class_path.last, content) if model_exists?
end

Private Instance Methods

model_exists?() click to toggle source
# File lib/generators/active_record/devise_two_factor_generator.rb, line 33
def model_exists?
  File.exist?(File.join(destination_root, model_path))
end
model_path() click to toggle source
# File lib/generators/active_record/devise_two_factor_generator.rb, line 37
def model_path
  @model_path ||= File.join("app", "models", "#{file_path}.rb")
end