Class: BlacklightMarc::MarcGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_marc_extension_to_solrdocumentObject

add MARC-specific extensions to the solr document



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/generators/blacklight_marc/marc_generator.rb', line 21

def add_marc_extension_to_solrdocument

  insert_into_file "app/models/solr_document.rb", :after => "include Blacklight::Solr::Document" do <<EOF

  # The following shows how to setup this blacklight document to display marc documents
  extension_parameters[:marc_source_field] = :marc_display
  extension_parameters[:marc_format_type] = :marcxml
  use_extension( Blacklight::Solr::Document::Marc) do |document|
document.key?( :marc_display  )
  end
  
  field_semantics.merge!(    
                     :title => "title_display",
                     :author => "author_display",
                     :language => "language_facet",
                     :format => "format"
                     )

EOF
  end
end

#create_configuration_filesObject

Copy all files in templates/config directory to host config



16
17
18
# File 'lib/generators/blacklight_marc/marc_generator.rb', line 16

def create_configuration_files
  directory("config/SolrMarc")
end

#inject_blacklight_controller_behaviorObject

Add MARC behaviors to the catalog controller



44
45
46
47
48
49
# File 'lib/generators/blacklight_marc/marc_generator.rb', line 44

def inject_blacklight_controller_behavior    
#    prepend_file("app/controllers/application_controller.rb", "require 'blacklight/controller'\n\n")
  inject_into_class "app/controllers/catalog_controller.rb", "CatalogController", :after => "include Blacklight::Catalog" do
    "  include BlacklightMarc::Catalog\n"
  end
end

#inject_blacklight_marc_routesObject



52
53
54
# File 'lib/generators/blacklight_marc/marc_generator.rb', line 52

def inject_blacklight_marc_routes
  route('BlacklightMarc.add_routes(self)')
end