Class: Coalla::Cms::CreateAdminGenerator

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

Instance Method Summary collapse

Methods included from OrmHelpers

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

Instance Method Details

#copy_devise_migrationObject



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

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



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

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

#generate_modelObject



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

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



29
30
31
# File 'lib/generators/coalla/cms/create_admin_generator.rb', line 29

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

#migration_dataObject



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

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

t.datetime :remember_created_at
RUBY
end