Class: Invitation::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Helpers, Rails::Generators::Migration
Defined in:
lib/generators/invitation/install/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_migration_filesObject



33
34
35
# File 'lib/generators/invitation/install/install_generator.rb', line 33

def copy_migration_files
  copy_migration 'create_invites.rb'
end

#create_initializerObject



37
38
39
40
41
42
43
44
45
46
# 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_modelObject



29
30
31
# 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

#verifyObject

class_option :invitable, optional: true, type: :array, banner: ‘invitable’,

desc: "Specify the model class name if you will use anything other than 'User'"


22
23
24
25
26
27
# 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