Class: Invitation::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Invitation::Generators::InstallGenerator
- Includes:
- Helpers, Rails::Generators::Migration
- Defined in:
- lib/generators/invitation/install/install_generator.rb
Instance Method Summary collapse
- #copy_migration_files ⇒ Object
- #create_initializer ⇒ Object
- #inject_into_user_model ⇒ Object
-
#verify ⇒ Object
class_option :invitable, optional: true, type: :array, banner: ‘invitable’, desc: “Specify the model class name if you will use anything other than ‘User’”.
Instance Method Details
#copy_migration_files ⇒ Object
def inject_into_invitables
return unless [:invitable]
[:invitable].each do |invitable|
path = invitable_file_path(invitable)
class_name = invitable.classify
inject_into_class path, class_name, " include Invitation::Invitable\n\n"
end
end
52 53 54 |
# File 'lib/generators/invitation/install/install_generator.rb', line 52 def copy_migration_files copy_migration 'create_invites.rb' end |
#create_initializer ⇒ Object
56 57 58 59 60 61 62 63 64 65 |
# File 'lib/generators/invitation/install/install_generator.rb', line 56 def create_initializer copy_file 'invitation.rb', 'config/initializers/invitation.rb' if [:model] inject_into_file( 'config/initializers/invitation.rb', " config.user_model = '#{[:model]}' \n", after: "Invitation.configure do |config|\n" ) end end |
#inject_into_user_model ⇒ Object
def verify_invitable
return unless [:invitable]
[:invitable].each do |invitable|
unless File.exists?(invitable_file_path invitable)
puts "Exiting: the model class you specified to make invitable, #{invitable}, is not found."
exit 1
end
end
end
39 40 41 |
# File 'lib/generators/invitation/install/install_generator.rb', line 39 def inject_into_user_model inject_into_class model_path, model_class_name, " include Invitation::User\n\n" end |
#verify ⇒ Object
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 [:model] && !File.exist?(model_path) puts "Exiting: the model class you specified, #{[:model]}, is not found." exit 1 end end |