Class: GeoblacklightSidecarImages::ModelsGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/geoblacklight_sidecar_images/models_generator.rb

Instance Method Summary collapse

Instance Method Details

#copy_migrationsObject

Setup the database migrations



20
21
22
# File 'lib/generators/geoblacklight_sidecar_images/models_generator.rb', line 20

def copy_migrations
  rake "geoblacklight_sidecar_images:install:migrations"
end

#include_sidecar_solrdocumentObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/generators/geoblacklight_sidecar_images/models_generator.rb', line 24

def include_sidecar_solrdocument
  sidecar = <<-"SIDECAR"
    def sidecar
      # Find or create, and set version
      sidecar = SolrDocumentSidecar.where(
        document_id: id,
        document_type: self.class.to_s
      ).first_or_create do |sc|
        sc.version = self._source["_version_"]
      end

      sidecar.version = self._source["_version_"]
      sidecar.save

      sidecar
    end
  SIDECAR

  inject_into_file "app/models/solr_document.rb", sidecar, before: /^end/
end

#include_wms_rewrite_solrdocumentObject



45
46
47
48
49
50
51
52
# File 'lib/generators/geoblacklight_sidecar_images/models_generator.rb', line 45

def include_wms_rewrite_solrdocument
  inject_into_file(
    "app/models/solr_document.rb",
    after: "include Geoblacklight::SolrDocument"
  ) do
    "\n include WmsRewriteConcern"
  end
end