Class: Coalla::Cms::CreateAdminGenerator

Inherits:
ActiveRecord::Generators::Base
  • Object
show all
Includes:
Utils::Orm
Defined in:
lib/generators/coalla/cms/create_admin_generator.rb

Instance Method Summary collapse

Methods included from Utils::Orm

#migration_exists?, #migration_path, #model_contents, #model_exists?, #model_path

Instance Method Details

#copy_devise_migrationObject



14
15
16
17
18
19
20
# File 'lib/generators/coalla/cms/create_admin_generator.rb', line 14

def copy_devise_migration
  if (behavior == :invoke && model_exists?) || (behavior == :revoke && migration_exists?(table_name))
    migration_template 'migration_existing.rb', "db/migrate/add_admin_role_to_#{table_name}.rb"
  else
    migration_template 'migration.rb', "db/migrate/create_#{table_name}_model.rb"
  end
end

#create_default_adminObject



44
45
46
47
48
# File 'lib/generators/coalla/cms/create_admin_generator.rb', line 44

def create_default_admin
<<RUBY
    #{table_name.singularize.camelize}.create!(email: '[email protected]', password: '9ijn8uhb')
RUBY
end

#generate_modelObject



22
23
24
25
26
27
28
29
# File 'lib/generators/coalla/cms/create_admin_generator.rb', line 22

def generate_model
  unless model_exists? && behavior == :invoke
    invoke 'active_record:model', [name],
           migration: false,
           fixture: false,
           test_framework: false
  end
end

#inject_devise_contentObject



31
32
33
# File 'lib/generators/coalla/cms/create_admin_generator.rb', line 31

def inject_devise_content
  inject_into_class(model_path, class_name, model_contents) if model_exists?
end

#migration_dataObject



35
36
37
38
39
40
41
42
# File 'lib/generators/coalla/cms/create_admin_generator.rb', line 35

def migration_data
<<RUBY
t.text :email,              null: false, default: ""
t.text :encrypted_password, null: false, default: ""

t.datetime :remember_created_at
RUBY
end