Class: Authtrail::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
ActiveRecord::Generators::Migration
Defined in:
lib/generators/authtrail/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_migrationObject



11
12
13
# File 'lib/generators/authtrail/install_generator.rb', line 11

def copy_migration
  migration_template "login_activities_migration.rb", "db/migrate/create_login_activities.rb", migration_version: migration_version
end

#copy_templatesObject



15
16
17
# File 'lib/generators/authtrail/install_generator.rb', line 15

def copy_templates
  template "initializer.rb", "config/initializers/authtrail.rb"
end

#generate_modelObject



19
20
21
22
23
24
25
# File 'lib/generators/authtrail/install_generator.rb', line 19

def generate_model
  if lockbox?
    template "model_lockbox.rb", "app/models/login_activity.rb"
  else
    template "model.rb", "app/models/login_activity.rb"
  end
end

#identity_columnObject



31
32
33
34
35
36
37
# File 'lib/generators/authtrail/install_generator.rb', line 31

def identity_column
  if lockbox?
    "t.text :identity_ciphertext\n      t.string :identity_bidx, index: true"
  else
    "t.string :identity, index: true"
  end
end

#ip_columnObject



39
40
41
42
43
44
45
# File 'lib/generators/authtrail/install_generator.rb', line 39

def ip_column
  if lockbox?
    "t.text :ip_ciphertext\n      t.string :ip_bidx, index: true"
  else
    "t.string :ip, index: true"
  end
end

#lockbox?Boolean



47
48
49
# File 'lib/generators/authtrail/install_generator.rb', line 47

def lockbox?
  options[:lockbox]
end

#migration_versionObject



27
28
29
# File 'lib/generators/authtrail/install_generator.rb', line 27

def migration_version
  "[#{ActiveRecord::VERSION::MAJOR}.#{ActiveRecord::VERSION::MINOR}]"
end