lib/ddr/derivatives.rb
module Ddr
module Derivatives
extend ActiveSupport::Autoload
autoload :Generator
autoload :PngGenerator
autoload :PtifGenerator
autoload :UpdateDerivatives
Derivative = Struct.new(:name, :datastream, :generator, :options)
# Derivatives to generate. Array of DERIVATIVE names
mattr_accessor :update_derivatives
# Eventually, we should inject the generator (probably) and the options (certainly) for each derivative
# (e.g., from configuration)
DERIVATIVES = {
multires_image:
Derivative.new( :multires_image,
Ddr::Datastreams::MULTIRES_IMAGE,
Ddr::Derivatives::PtifGenerator,
"jpeg:90,tile:256x256,pyramid"),
thumbnail:
Derivative.new( :thumbnail,
Ddr::Datastreams::THUMBNAIL,
Ddr::Derivatives::PngGenerator,
"-resize '100x100>'")
}
# Yields an object with module configuration accessors
def self.configure
yield self
end
end
end