Class: Webring::Generators::MemberGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration, Shared::RouteInjector
Defined in:
lib/generators/webring/member/member_generator.rb

Overview

Note:

After running this generator, you should run the migration with: rails db:migrate

It creates both the model file and a migration to create the database table

Examples:

Generated Member model has the following attributes:

# uid  - A unique identifier for the member (automatically generated)
# name - The name of the member site (defaults to URL if not provided)
# url  - The URL of the member site (required)
# description - The description of the member site (required)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Integer

Generates the next migration number for the migration file This is required by Rails::Generators::Migration

Parameters:

  • dirname (String)

    The directory where migrations are stored

Returns:

  • (Integer)

    The next migration number



42
43
44
45
# File 'lib/generators/webring/member/member_generator.rb', line 42

def self.next_migration_number(dirname)
  next_migration_number = current_migration_number(dirname) + 1
  ActiveRecord::Migration.next_migration_number(next_migration_number)
end

Instance Method Details

#create_migration_fileObject

Creates a migration file to create the webring_members table



29
30
31
# File 'lib/generators/webring/member/member_generator.rb', line 29

def create_migration_file
  migration_template 'migration.rb', 'db/migrate/create_webring_members.rb'
end

#create_model_fileObject

Creates the Member model file based on the template



34
35
36
# File 'lib/generators/webring/member/member_generator.rb', line 34

def create_model_file
  template 'model.rb', 'app/models/webring/member.rb'
end

#show_readmeObject

Displays the README with next steps after installation



48
49
50
# File 'lib/generators/webring/member/member_generator.rb', line 48

def show_readme
  readme 'AFTER_INSTALL' if behavior == :invoke
end