Class: IiifPrint::InstallGenerator

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

Overview

Install Generator Class rubocop:disable Metrics/ClassLength

Instance Method Summary collapse

Instance Method Details

#catalog_controller_configurationObject



21
22
23
# File 'lib/generators/iiif_print/install_generator.rb', line 21

def catalog_controller_configuration
  generate 'iiif_print:catalog_controller'
end

#copy_migrationsObject



9
10
11
# File 'lib/generators/iiif_print/install_generator.rb', line 9

def copy_migrations
  rake "iiif_print:install:migrations"
end

#inject_assetsObject



29
30
31
# File 'lib/generators/iiif_print/install_generator.rb', line 29

def inject_assets
  generate 'iiif_print:assets'
end

#inject_configurationObject



25
26
27
# File 'lib/generators/iiif_print/install_generator.rb', line 25

def inject_configuration
  copy_file 'config/initializers/iiif_print.rb'
end

#lint_catalog_controllerObject

Blacklight IIIF Search generator has some linting that does not agree with CircleCI on Hyku ref github.com/boston-library/blacklight_iiif_search/blob/v1.0.0/lib/generators/blacklight_iiif_search/controller_generator.rb the follow two methods does a clean up to appease Rubocop



36
37
38
39
40
41
42
# File 'lib/generators/iiif_print/install_generator.rb', line 36

def lint_catalog_controller
  file = "app/controllers/catalog_controller.rb"
  contents = File.read(file)
  contents.gsub!(/\n\s*\n\s*# IiifPrint index fields/, "\n    # IiifPrint index fields")
  contents.gsub!(/\n\s*\n\s*# configuration for Blacklight IIIF Content Search/, "\n\n    # configuration for Blacklight IIIF Content Search")
  File.write(file, contents)
end

#lint_iiif_search_builderObject



45
46
47
48
49
50
# File 'lib/generators/iiif_print/install_generator.rb', line 45

def lint_iiif_search_builder
  file = "app/models/iiif_search_builder.rb"
  contents = File.read(file)
  contents.insert(0, "# frozen_string_literal: true\n\n")
  File.write(file, contents)
end

#verify_biiif_installedObject



13
14
15
16
17
18
19
# File 'lib/generators/iiif_print/install_generator.rb', line 13

def verify_biiif_installed
  return if IO.read('app/controllers/catalog_controller.rb').include?('include BlacklightIiifSearch::Controller')
  say_status('info',
             'BLACKLIGHT IIIF SEARCH NOT INSTALLED; INSTALLING BLACKLIGHT IIIF SEARCH',
             :blue)
  generate 'blacklight_iiif_search:install'
end