class BPL::Derivatives::PersistDatastreamOutputService
Public Class Methods
call(object, directives)
click to toggle source
# File lib/bpl/derivatives/services/persist_datastream_output_service.rb, line 3 def self.call(object, directives) datastream = retrieve_datastream(object.original_object, directives) datastream.content = object.content datastream.mimeType = determine_mime_type(directives.fetch(:format)) datastream.save end
determine_mime_type(format)
click to toggle source
# File lib/bpl/derivatives/services/persist_datastream_output_service.rb, line 10 def self.determine_mime_type(format) mime_format(format) end
Private Class Methods
output_datastream(object, dsid)
click to toggle source
# File lib/bpl/derivatives/services/persist_datastream_output_service.rb, line 22 def self.output_datastream(object, dsid) return object.datastreams[dsid] if object.datastreams[dsid] ds = BPL::Derivatives.config.output_file_class.new(object.inner_object, dsid) #ActiveFedora::Datastream object.add_datastream(ds) ds end
retrieve_datastream(object, directives)
click to toggle source
# File lib/bpl/derivatives/services/persist_datastream_output_service.rb, line 14 def self.retrieve_datastream(object, directives) dsid = directives.fetch(:dsid) raise ArgumentError, "#{dsid} is blank" if dsid.blank? output_datastream(object, dsid) end