Module: IiifPrint
- Extended by:
- ActiveSupport::Autoload
- Defined in:
- lib/iiif_print/text_extraction/page_ocr.rb,
lib/iiif_print.rb,
lib/iiif_print/data.rb,
lib/iiif_print/engine.rb,
lib/iiif_print/errors.rb,
lib/iiif_print/version.rb,
lib/iiif_print/metadata.rb,
lib/iiif_print/image_tool.rb,
lib/iiif_print/configuration.rb,
lib/iiif_print/data/work_file.rb,
lib/iiif_print/data/work_files.rb,
lib/iiif_print/lineage_service.rb,
lib/iiif_print/text_extraction.rb,
lib/iiif_print/data/path_helper.rb,
lib/iiif_print/jp2_image_metadata.rb,
lib/iiif_print/data/fileset_helper.rb,
lib/iiif_print/jobs/application_job.rb,
lib/iiif_print/data/work_derivatives.rb,
lib/iiif_print/catalog_search_builder.rb,
lib/iiif_print/jp2_derivative_service.rb,
lib/iiif_print/pdf_derivative_service.rb,
lib/iiif_print/base_derivative_service.rb,
lib/iiif_print/tiff_derivative_service.rb,
app/models/iiif_print/application_record.rb,
lib/iiif_print/works_controller_behavior.rb,
app/helpers/iiif_print/application_helper.rb,
app/mailers/iiif_print/application_mailer.rb,
app/models/iiif_print/ingest_file_relation.rb,
app/models/iiif_print/pending_relationship.rb,
lib/generators/iiif_print/assets_generator.rb,
lib/iiif_print/text_extraction/alto_reader.rb,
lib/iiif_print/text_extraction/hocr_reader.rb,
lib/iiif_print/text_extraction/render_alto.rb,
app/models/iiif_print/derivative_attachment.rb,
lib/generators/iiif_print/install_generator.rb,
lib/iiif_print/jobs/child_works_from_pdf_job.rb,
lib/iiif_print/jobs/create_relationships_job.rb,
app/models/concerns/iiif_print/set_child_flag.rb,
lib/iiif_print/text_formats_from_alto_service.rb,
app/indexers/concerns/iiif_print/child_indexer.rb,
app/indexers/concerns/iiif_print/file_set_indexer.rb,
lib/iiif_print/text_extraction_derivative_service.rb,
lib/iiif_print/text_extraction/word_coords_builder.rb,
lib/iiif_print/split_pdfs/pages_into_images_service.rb,
app/models/iiif_print/iiif_search_response_decorator.rb,
app/actors/iiif_print/actors/file_set_actor_decorator.rb,
app/search_builders/concerns/iiif_print/exclude_models.rb,
lib/generators/iiif_print/catalog_controller_generator.rb,
lib/iiif_print/split_pdfs/pdf_image_extraction_service.rb,
app/presenters/iiif_print/work_show_presenter_decorator.rb,
app/services/iiif_print/manifest_builder_service_behavior.rb,
app/presenters/iiif_print/iiif_manifest_presenter_behavior.rb,
lib/iiif_print/blacklight_iiif_search/annotation_decorator.rb,
lib/iiif_print/split_pdfs/child_work_creation_from_pdf_service.rb,
app/search_builders/concerns/iiif_print/highlight_search_params.rb,
app/presenters/iiif_print/iiif_manifest_presenter_factory_behavior.rb
Overview
Encapsulates methods used for pdf splitting into child works
Defined Under Namespace
Modules: Actors, ApplicationHelper, BlacklightIiifSearch, ChildIndexer, Data, ExcludeModels, FileSetIndexer, HighlightSearchParams, IiifManifestPresenterBehavior, IiifManifestPresenterFactoryBehavior, IiifSearchResponseDecorator, Jobs, LineageService, ManifestBuilderServiceBehavior, SetChildFlag, SplitPdfs, TextExtraction, WorkShowPresenterDecorator, WorksControllerBehaviorDecorator Classes: ApplicationMailer, ApplicationRecord, AssetsGenerator, BaseDerivativeService, CatalogControllerGenerator, CatalogSearchBuilder, Configuration, DataError, DerivativeAttachment, Engine, Field, IiifPrintError, ImageTool, IngestFileRelation, InstallGenerator, JP2DerivativeService, JP2ImageMetadata, Metadata, ModelConfig, PDFDerivativeService, PendingRelationship, PluggableDerivativeService, TIFFDerivativeService, TextExtractionDerivativeService, TextFormatsFromALTOService
Constant Summary collapse
- DEFAULT_MODEL_CONFIGURATION =
{ # Split a PDF into individual page images and create a new child work for each image. pdf_splitter_job: IiifPrint::Jobs::ChildWorksFromPdfJob, pdf_splitter_service: IiifPrint::SplitPdfs::PagesIntoImagesService, derivative_service_plugins: [ IiifPrint::JP2DerivativeService, IiifPrint::PDFDerivativeService, IiifPrint::TextExtractionDerivativeService, IiifPrint::TIFFDerivativeService ] }.freeze
- GEM_PATH =
module constants:
Gem::Specification.find_by_name("iiif_print").gem_dir
- VERSION =
'1.0.0'.freeze
Class Method Summary collapse
-
.config {|IiifPrint::Configuration| ... } ⇒ IiifPrint::Configuration
Exposes the IiifPrint configuration.
- .default_fields_for(_work, fields: config.metadata_fields) ⇒ Object private
-
.manifest_metadata_for(work:, version: config.default_iiif_manifest_version, fields: default_fields_for(work), current_ability:, base_url:) ⇒ Array<Hash>
Map the given work’s metadata to the given IIIF version spec’s metadata structure.
-
.model_configuration(**kwargs) ⇒ Module
This method is responsible for assisting in the configuration of a “model”.
Class Method Details
.config {|IiifPrint::Configuration| ... } ⇒ IiifPrint::Configuration
Exposes the IiifPrint configuration.
36 37 38 39 40 |
# File 'lib/iiif_print.rb', line 36 def self.config(&block) @config ||= IiifPrint::Configuration.new yield @config if block @config end |
.default_fields_for(_work, fields: config.metadata_fields) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Figure out a way to use a custom label, right now it takes it get rendered from the title.
127 128 129 130 131 132 133 134 135 |
# File 'lib/iiif_print.rb', line 127 def self.default_fields_for(_work, fields: config.) fields.map do |field| Field.new( name: field.first, label: Hyrax::Renderers::AttributeRenderer.new(field, nil).label, options: field.last ) end end |
.manifest_metadata_for(work:, version: config.default_iiif_manifest_version, fields: default_fields_for(work), current_ability:, base_url:) ⇒ Array<Hash>
Map the given work’s metadata to the given IIIF version spec’s metadata structure. This is intended to be a drop-in replacement for ‘Hyrax::IiifManifestPresenter#manifest_metadata`.
108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/iiif_print.rb', line 108 def self.(work:, version: config.default_iiif_manifest_version, fields: default_fields_for(work), current_ability:, base_url:) Metadata.(work: work, version: version, fields: fields, current_ability: current_ability, base_url: base_url) end |
.model_configuration(**kwargs) ⇒ Module
Because not every job will split PDFs and write to a child model. May want to introduce an alternative splitting method to create new filesets on the existing work instead of new child works.
This method is responsible for assisting in the configuration of a “model”.
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/iiif_print.rb', line 77 def self.model_configuration(**kwargs) Module.new do def iiif_print_config? true end # We don't know what you may want in your configuration, but from this gems implementation, # we're going to provide the defaults to ensure that it works. DEFAULT_MODEL_CONFIGURATION.each_pair do |key, default_value| kwargs[key] ||= default_value end define_method(:iiif_print_config) do @iiif_print_config ||= ModelConfig.new(**kwargs) end end end |