Class: CurationConcerns::Install
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- CurationConcerns::Install
- Defined in:
- lib/generators/curation_concerns/install_generator.rb
Instance Method Summary collapse
- #add_helper ⇒ Object
- #assets ⇒ Object
- #catalog_controller ⇒ Object
- #inject_ability ⇒ Object
- #inject_application_controller_behavior ⇒ Object
- #inject_routes ⇒ Object
-
#inject_solr_document_behavior ⇒ Object
Add behaviors to the SolrDocument model.
- #insert_builder ⇒ Object
- #local_authorities ⇒ Object
- #replace_blacklight_layout ⇒ Object
- #run_required_generators ⇒ Object
- #simple_form_initializers ⇒ Object
Instance Method Details
#add_helper ⇒ Object
91 92 93 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 91 def add_helper copy_file 'curation_concerns_helper.rb', 'app/helpers/curation_concerns_helper.rb' end |
#assets ⇒ Object
87 88 89 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 87 def assets generate 'curation_concerns:assets' unless [:'skip-assets'] end |
#catalog_controller ⇒ Object
70 71 72 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 70 def catalog_controller copy_file "catalog_controller.rb", "app/controllers/catalog_controller.rb" end |
#inject_ability ⇒ Object
63 64 65 66 67 68 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 63 def inject_ability inject_into_file 'app/models/ability.rb', after: /Hydra::Ability\s*\n/ do " include CurationConcerns::Ability\n"\ " self.ability_logic += [:everyone_can_create_curation_concerns]\n\n" end end |
#inject_application_controller_behavior ⇒ Object
31 32 33 34 35 36 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 31 def inject_application_controller_behavior inject_into_file 'app/controllers/application_controller.rb', after: /Hydra::Controller::ControllerBehavior\s*\n/ do "\n # Adds CurationConcerns behaviors to the application controller.\n" \ " include CurationConcerns::ApplicationControllerBehavior\n" end end |
#inject_routes ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 49 def inject_routes # Remove root route that was added by blacklight generator gsub_file 'config/routes.rb', /root (:to =>|to:) "catalog#index"/, '' inject_into_file 'config/routes.rb', after: /devise_for :users\s*\n/ do " mount CurationConcerns::Engine, at: '/'\n"\ " resources :welcome, only: 'index'\n"\ " root 'welcome#index'\n"\ " curation_concerns_collections\n"\ " curation_concerns_basic_routes\n"\ " curation_concerns_embargo_management\n"\ end end |
#inject_solr_document_behavior ⇒ Object
Add behaviors to the SolrDocument model
75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 75 def inject_solr_document_behavior file_path = 'app/models/solr_document.rb' if File.exist?(file_path) inject_into_file file_path, after: /include Blacklight::Solr::Document.*$/ do "\n # Adds CurationConcerns behaviors to the SolrDocument.\n" \ " include CurationConcerns::SolrDocumentBehavior\n" end else puts " \e[31mFailure\e[0m CurationConcerns requires a SolrDocument object. This generators assumes that the model is defined in the file #{file_path}, which does not exist." end end |
#insert_builder ⇒ Object
43 44 45 46 47 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 43 def insert_builder insert_into_file 'app/models/search_builder.rb', after: /include Hydra::AccessControlsEnforcement/ do "\n include CurationConcerns::SearchFilters\n" end end |
#local_authorities ⇒ Object
95 96 97 98 99 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 95 def copy_file "config/authorities/licenses.yml" copy_file "config/authorities/rights_statements.yml" copy_file "config/authorities/resource_types.yml" end |
#replace_blacklight_layout ⇒ Object
38 39 40 41 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 38 def replace_blacklight_layout gsub_file 'app/controllers/application_controller.rb', /layout 'blacklight'/, "include CurationConcerns::ThemedLayoutController\n with_themed_layout '1_column'\n" end |
#run_required_generators ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 22 def run_required_generators say_status('warning', '[CurationConcerns] GENERATING BLACKLIGHT', :yellow) generate 'blacklight:install --devise' say_status('warning', '[CurationConcerns] GENERATING HYDRA-HEAD', :yellow) generate 'hydra:head -f' say_status('warning', '[CurationConcerns] GENERATING CURATION_CONCERNS MODELS', :yellow) generate "curation_concerns:models#{options[:force] ? ' -f' : ''}" end |
#simple_form_initializers ⇒ Object
101 102 103 104 105 106 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 101 def simple_form_initializers copy_file 'config/initializers/simple_form.rb', 'config/initializers/simple_form.rb' copy_file 'config/initializers/simple_form_bootstrap.rb', 'config/initializers/simple_form_bootstrap.rb' end |