Class: GeoConcerns::Install
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- GeoConcerns::Install
- Defined in:
- lib/generators/geo_concerns/install_generator.rb
Instance Attribute Summary collapse
-
#class_name ⇒ Object
Returns the value of attribute class_name.
Instance Method Summary collapse
- #file_set_presenter ⇒ Object
- #inject_into_file_set ⇒ Object
-
#inject_solr_document_behavior ⇒ Object
Add behaviors to the SolrDocument model.
- #install_ability ⇒ Object
- #install_assets ⇒ Object
- #install_authorities ⇒ Object
- #install_downloads_controller ⇒ Object
- #install_file_sets_controller ⇒ Object
- #install_geoblacklight_config ⇒ Object
- #install_geoserver_config ⇒ Object
- #install_image_work ⇒ Object
- #install_messaging_config ⇒ Object
- #install_raster_work ⇒ Object
- #install_routes ⇒ Object
- #install_simpler_tiles_config ⇒ Object
- #install_vector_work ⇒ Object
- #register_work ⇒ Object
Instance Attribute Details
#class_name ⇒ Object
Returns the value of attribute class_name.
6 7 8 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 6 def class_name @class_name end |
Instance Method Details
#file_set_presenter ⇒ Object
102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 102 def file_set_presenter file_path = 'app/presenters/file_set_presenter.rb' if File.exist?(file_path) inject_into_file file_path, after: /class FileSetPresenter.*$/ do "\n # GeoConcerns FileSetPresenter behavior\n" \ " include ::GeoConcerns::FileSetPresenterBehavior\n" end else copy_file 'presenters/file_set_presenter.rb', file_path end end |
#inject_into_file_set ⇒ Object
90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 90 def inject_into_file_set file_path = 'app/models/file_set.rb' if File.exist?(file_path) inject_into_file file_path, after: /include ::CurationConcerns::FileSetBehavior.*$/ do "\n # GeoConcerns behavior to FileSet.\n" \ " include ::GeoConcerns::GeoFileSetBehavior\n" end else copy_file 'models/file_set.rb', file_path end end |
#inject_solr_document_behavior ⇒ Object
Add behaviors to the SolrDocument model
115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 115 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 GeoConcerns behaviors to the SolrDocument.\n" \ " include GeoConcerns::SolrDocumentBehavior\n" end else Rails.logger.info " \e[31mFailure\e[0m GeoConcerns requires a SolrDocument object. This generators assumes that the model is defined in the file #{file_path}, which does not exist." end end |
#install_ability ⇒ Object
14 15 16 17 18 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 14 def install_ability inject_into_file 'app/models/ability.rb', after: "include CurationConcerns::Ability\n" do " include GeoConcerns::Ability\n" end end |
#install_assets ⇒ Object
127 128 129 130 131 132 133 134 135 136 137 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 127 def install_assets copy_file 'geo_concerns.js', 'app/assets/javascripts/geo_concerns.js' copy_file 'geo_concerns.scss', 'app/assets/stylesheets/geo_concerns.scss' file_path = 'app/assets/javascripts/application.js' inject_into_file file_path, before: %r{\/\/= require_tree \..*$} do "//= require geo_concerns\n" \ "//= require curation_concerns\n" \ "// Require es6 modules after almond is loaded in curation concerns.\n" \ "//= require geo_concerns/es6-modules\n" end end |
#install_authorities ⇒ Object
57 58 59 60 61 62 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 57 def %w(metadata image vector raster).each do |type| file_path = "config/authorities/#{type}_formats.yml" copy_file file_path, file_path end end |
#install_downloads_controller ⇒ Object
52 53 54 55 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 52 def install_downloads_controller file_path = 'app/controllers/downloads_controller.rb' copy_file 'controllers/downloads_controller.rb', file_path end |
#install_file_sets_controller ⇒ Object
47 48 49 50 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 47 def install_file_sets_controller file_path = 'app/controllers/curation_concerns/file_sets_controller.rb' copy_file 'controllers/curation_concerns/file_sets_controller.rb', file_path end |
#install_geoblacklight_config ⇒ Object
83 84 85 86 87 88 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 83 def install_geoblacklight_config config_file_path = 'config/geoblacklight.yml' initializer_file_path = 'config/initializers/geoblacklight_config.rb' copy_file config_file_path, config_file_path copy_file initializer_file_path, initializer_file_path end |
#install_geoserver_config ⇒ Object
71 72 73 74 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 71 def install_geoserver_config file_path = 'config/geoserver.yml' copy_file file_path, file_path end |
#install_image_work ⇒ Object
41 42 43 44 45 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 41 def install_image_work @class_name = 'ImageWork' install_work install_specs end |
#install_messaging_config ⇒ Object
76 77 78 79 80 81 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 76 def install_messaging_config config_file_path = 'config/geo_concerns_messaging.yml' initializer_file_path = 'config/initializers/geo_concerns_messaging_config.rb' copy_file config_file_path, config_file_path copy_file initializer_file_path, initializer_file_path end |
#install_raster_work ⇒ Object
29 30 31 32 33 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 29 def install_raster_work @class_name = 'RasterWork' install_work install_specs end |
#install_routes ⇒ Object
8 9 10 11 12 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 8 def install_routes inject_into_file 'config/routes.rb', after: /curation_concerns_embargo_management\s*\n/ do " mount GeoConcerns::Engine => '/'\n"\ end end |
#install_simpler_tiles_config ⇒ Object
64 65 66 67 68 69 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 64 def install_simpler_tiles_config initializer_path = 'config/initializers/simpler_tiles.rb' yaml_path = 'config/simpler_tiles.yml' copy_file yaml_path, yaml_path copy_file initializer_path, initializer_path end |
#install_vector_work ⇒ Object
35 36 37 38 39 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 35 def install_vector_work @class_name = 'VectorWork' install_work install_specs end |
#register_work ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/generators/geo_concerns/install_generator.rb', line 20 def register_work inject_into_file 'config/initializers/curation_concerns.rb', after: "CurationConcerns.configure do |config|\n" do " # Injected via `rails g geo_concerns:install`\n" \ " config.register_curation_concern :vector_work\n" \ " config.register_curation_concern :raster_work\n" \ " config.register_curation_concern :image_work\n" end end |