Class: Sufia::Models::InstallGenerator
- Inherits:
-
AbstractMigrationGenerator
- Object
- Rails::Generators::Base
- AbstractMigrationGenerator
- Sufia::Models::InstallGenerator
- Defined in:
- lib/generators/sufia/models/install_generator.rb
Instance Method Summary collapse
- #banner ⇒ Object
-
#cached_stats ⇒ Object
Sets up cached usage stats.
-
#clamav ⇒ Object
Adds clamav initializtion.
- #configure_usage_stats ⇒ Object
-
#copy_migrations ⇒ Object
Setup the database migrations.
- #create_collection ⇒ Object
- #create_configuration_files ⇒ Object
-
#full_text_indexing ⇒ Object
Sets up full-text indexing (Solr config + jars).
-
#inject_sufia_user_behavior ⇒ Object
Add behaviors to the user model.
- #install_mailboxer ⇒ Object
-
#minimagick_config ⇒ Object
Add mini-magick configuration.
-
#orcid_field ⇒ Object
Adds orcid field to user model.
-
#proxies ⇒ Object
Sets up proxies and transfers.
-
#user_stats ⇒ Object
Adds user stats-related migration & methods.
Methods inherited from AbstractMigrationGenerator
Instance Method Details
#banner ⇒ Object
20 21 22 |
# File 'lib/generators/sufia/models/install_generator.rb', line 20 def say_status("info", "GENERATING SUFIA MODELS", :blue) end |
#cached_stats ⇒ Object
Sets up cached usage stats
95 96 97 |
# File 'lib/generators/sufia/models/install_generator.rb', line 95 def cached_stats generate 'sufia:models:cached_stats' end |
#clamav ⇒ Object
Adds clamav initializtion
110 111 112 |
# File 'lib/generators/sufia/models/install_generator.rb', line 110 def clamav generate 'sufia:models:clamav' end |
#configure_usage_stats ⇒ Object
80 81 82 |
# File 'lib/generators/sufia/models/install_generator.rb', line 80 def configure_usage_stats generate 'sufia:models:usagestats' end |
#copy_migrations ⇒ Object
Setup the database migrations
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/generators/sufia/models/install_generator.rb', line 25 def copy_migrations [ "acts_as_follower_migration.rb", "add_social_to_users.rb", "create_single_use_links.rb", "add_ldap_attrs_to_user.rb", "add_avatars_to_users.rb", "create_checksum_audit_logs.rb", "create_version_committers.rb", "add_groups_to_users.rb", "create_local_authorities.rb", "create_trophies.rb", 'add_linkedin_to_users.rb', 'create_tinymce_assets.rb', 'create_content_blocks.rb', 'create_featured_works.rb', 'add_external_key_to_content_blocks.rb' ].each do |file| better_migration_template file end end |
#create_collection ⇒ Object
72 73 74 |
# File 'lib/generators/sufia/models/install_generator.rb', line 72 def create_collection copy_file 'app/models/collection.rb', 'app/models/collection.rb' end |
#create_configuration_files ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/generators/sufia/models/install_generator.rb', line 60 def create_configuration_files append_file 'config/initializers/mime_types.rb', "\nMime::Type.register 'application/x-endnote-refer', :endnote", verbose: false copy_file 'config/sufia.rb', 'config/initializers/sufia.rb' copy_file 'config/redis.yml', 'config/redis.yml' copy_file 'config/resque-pool.yml', 'config/resque-pool.yml' copy_file 'config/redis_config.rb', 'config/initializers/redis_config.rb' copy_file 'config/resque_admin.rb', 'config/initializers/resque_admin.rb' copy_file 'config/resque_config.rb', 'config/initializers/resque_config.rb' copy_file 'config/resque.rake', 'lib/tasks/resque.rake' end |
#full_text_indexing ⇒ Object
Sets up full-text indexing (Solr config + jars)
85 86 87 |
# File 'lib/generators/sufia/models/install_generator.rb', line 85 def full_text_indexing generate "sufia:models:fulltext" end |
#inject_sufia_user_behavior ⇒ Object
Add behaviors to the user model
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/generators/sufia/models/install_generator.rb', line 48 def inject_sufia_user_behavior file_path = "app/models/#{model_name.underscore}.rb" if File.exist?(file_path) inject_into_file file_path, after: /include Hydra\:\:User.*$/ do "# Connects this user object to Sufia behaviors. " + "\n include Sufia::User\n" end else puts " \e[31mFailure\e[0m Sufia requires a user object. This generators assumes that the model is defined in the file #{file_path}, which does not exist. If you used a different name, please re-run the generator and provide that name as an argument. Such as \b rails -g sufia client" end end |
#install_mailboxer ⇒ Object
76 77 78 |
# File 'lib/generators/sufia/models/install_generator.rb', line 76 def install_mailboxer generate "mailboxer:install" end |
#minimagick_config ⇒ Object
Add mini-magick configuration
115 116 117 |
# File 'lib/generators/sufia/models/install_generator.rb', line 115 def minimagick_config generate 'sufia:models:minimagick_config' end |
#orcid_field ⇒ Object
Adds orcid field to user model
100 101 102 |
# File 'lib/generators/sufia/models/install_generator.rb', line 100 def orcid_field generate 'sufia:models:orcid_field' end |
#proxies ⇒ Object
Sets up proxies and transfers
90 91 92 |
# File 'lib/generators/sufia/models/install_generator.rb', line 90 def proxies generate "sufia:models:proxies" end |
#user_stats ⇒ Object
Adds user stats-related migration & methods
105 106 107 |
# File 'lib/generators/sufia/models/install_generator.rb', line 105 def user_stats generate 'sufia:models:user_stats' end |