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
- #create_workflow ⇒ 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
94 95 96 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 94 def add_helper copy_file 'curation_concerns_helper.rb', 'app/helpers/curation_concerns_helper.rb' end |
#assets ⇒ Object
90 91 92 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 90 def assets generate 'curation_concerns:assets' unless [:'skip-assets'] end |
#catalog_controller ⇒ Object
73 74 75 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 73 def catalog_controller copy_file "catalog_controller.rb", "app/controllers/catalog_controller.rb" end |
#create_workflow ⇒ Object
111 112 113 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 111 def create_workflow template('workflow.json.erb', "config/workflows/default_workflow.json") end |
#inject_ability ⇒ Object
66 67 68 69 70 71 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 66 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
34 35 36 37 38 39 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 34 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
52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 52 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
78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 78 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
46 47 48 49 50 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 46 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
98 99 100 101 102 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 98 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
41 42 43 44 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 41 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
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 23 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#{[:force] ? ' -f' : ''}" say_status('warning', '[CurationConcerns] GENERATING CURATION_CONCERNS ADMIN DASHBOARD', :yellow) generate "curation_concerns:admin_dashboard#{[:force] ? ' -f' : ''}" end |
#simple_form_initializers ⇒ Object
104 105 106 107 108 109 |
# File 'lib/generators/curation_concerns/install_generator.rb', line 104 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 |