class Hydra::Derivatives::ActiveEncodeDerivatives
Public Class Methods
create(object_or_filename, options)
click to toggle source
@param [String, ActiveFedora::Base] object_or_filename source file name (or path), or an object that has a method that will return the file name @param [Hash] options options to pass to the encoder @option options [Symbol] :source a method that can be called on the object to retrieve the source file's name @option options [Symbol] :encode_class class name of the encode object (usually a subclass of ::ActiveEncode::Base) @options options [Array] :outputs a list of desired outputs
# File lib/hydra/derivatives/runners/active_encode_derivatives.rb, line 8 def self.create(object_or_filename, options) processor_opts = processor_options(options) source_file(object_or_filename, options) do |file_name| transform_directives(options.delete(:outputs)).each do |instructions| processor = processor_class.new(file_name, instructions, processor_opts) processor.process end end end
output_file_service()
click to toggle source
Use the output service configured for this class or default to the external file service
# File lib/hydra/derivatives/runners/active_encode_derivatives.rb, line 24 def self.output_file_service @output_file_service || PersistExternalFileOutputFileService end
processor_class()
click to toggle source
# File lib/hydra/derivatives/runners/active_encode_derivatives.rb, line 28 def self.processor_class Processors::ActiveEncode end
source_file_service()
click to toggle source
Use the source service configured for this class or default to the remote file service
# File lib/hydra/derivatives/runners/active_encode_derivatives.rb, line 19 def self.source_file_service @source_file_service || RemoteSourceFile end
Private Class Methods
processor_options(options)
click to toggle source
Build an options hash specifically for the processor isolated from the runner options
# File lib/hydra/derivatives/runners/active_encode_derivatives.rb, line 36 def processor_options(options) opts = { output_file_service: output_file_service } encode_class = options.delete(:encode_class) opts = opts.merge(encode_class: encode_class) if encode_class opts end