class Invitation::Generators::InstallGenerator

Protected Class Methods

next_migration_number(dir) click to toggle source

for generating a timestamp when using `create_migration`

# File lib/generators/invitation/install/install_generator.rb, line 55
def self.next_migration_number(dir)
  ActiveRecord::Generators::Base.next_migration_number(dir)
end

Public Instance Methods

copy_migration_files() click to toggle source
# File lib/generators/invitation/install/install_generator.rb, line 33
def copy_migration_files
  copy_migration 'create_invites.rb'
end
create_initializer() click to toggle source
# File lib/generators/invitation/install/install_generator.rb, line 37
def create_initializer
  copy_file 'invitation.rb', 'config/initializers/invitation.rb'
  if options[:model]
    inject_into_file(
      'config/initializers/invitation.rb',
      "  config.user_model = '#{options[:model]}' \n",
      after: "Invitation.configure do |config|\n"
    )
  end
end
inject_into_user_model() click to toggle source
# File lib/generators/invitation/install/install_generator.rb, line 29
def inject_into_user_model
  inject_into_class model_path, model_class_name, "  include Invitation::User\n\n"
end
verify() click to toggle source

class_option :invitable, optional: true, type: :array, banner: 'invitable',

desc: "Specify the model class name if you will use anything other than 'User'"
# File lib/generators/invitation/install/install_generator.rb, line 22
def verify
  if options[:model] && !File.exist?(model_path)
    puts "Exiting: the model class you specified, #{options[:model]}, is not found."
    exit 1
  end
end

Protected Instance Methods

copy_migration(migration_name) click to toggle source
# File lib/generators/invitation/install/install_generator.rb, line 50
def copy_migration(migration_name)
  migration_template "db/migrate/#{migration_name}", "db/migrate/#{migration_name}"
end