Class: BlacklightGallery::Install

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/blacklight_gallery/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_model_mixinObject



18
19
20
21
22
# File 'lib/generators/blacklight_gallery/install_generator.rb', line 18

def add_model_mixin
  inject_into_file 'app/models/solr_document.rb', after: "include Blacklight::Solr::Document" do
   "\n  include Blacklight::Gallery::OpenseadragonSolrDocument\n"
  end
end

#add_openseadragonObject



24
25
26
27
28
# File 'lib/generators/blacklight_gallery/install_generator.rb', line 24

def add_openseadragon
  gem "openseadragon", ">= 0.2.0"
  Bundler.with_clean_env { run 'bundle install' }
  generate 'openseadragon:install'
end

#assetsObject



30
31
32
33
34
35
36
37
38
# File 'lib/generators/blacklight_gallery/install_generator.rb', line 30

def assets
  copy_file "blacklight_gallery.css.scss", "app/assets/stylesheets/blacklight_gallery.css.scss"
  append_to_file 'app/assets/config/manifest.js', "\n//= link blacklight_gallery/manifest.js\n"
  copy_file "blacklight_gallery.js", "app/assets/javascripts/blacklight_gallery.js"

  insert_into_file "app/assets/javascripts/application.js", after: '//= require blacklight/blacklight' do
    "\n//= require blacklight_gallery"
  end
end

#configurationObject



8
9
10
11
12
13
14
15
16
# File 'lib/generators/blacklight_gallery/install_generator.rb', line 8

def configuration
  inject_into_file 'app/controllers/catalog_controller.rb', after: "configure_blacklight do |config|" do
    "\n    config.view.gallery(document_component: Blacklight::Gallery::DocumentComponent, icon: Blacklight::Gallery::Icons::GalleryComponent)" \
    "\n    config.view.masonry(document_component: Blacklight::Gallery::DocumentComponent, icon: Blacklight::Gallery::Icons::MasonryComponent)" \
    "\n    config.view.slideshow(document_component: Blacklight::Gallery::SlideshowComponent, icon: Blacklight::Gallery::Icons::SlideshowComponent)" \
    "\n    config.show.tile_source_field = :content_metadata_image_iiif_info_ssm" \
    "\n    config.show.partials.insert(1, :openseadragon)"
  end
end