Sha256: 3dc1c4ea3d5565c1b380231bffcfa94b527651fed1da92ea504f3e7c7877c5a5

Contents?: true

Size: 810 Bytes

Versions: 26

Compression:

Stored size: 810 Bytes

Contents

module Ddr::Derivatives
  class Thumbnail < Derivative

    def self.generatable?(object)
      object.can_have_thumbnail? && object.has_content? && object.image?
    end

    def self.has_derivative?(object)
      object.has_thumbnail?
    end

    def delete!(object)
      object.thumbnail.content = ''
      object.save
    end

    protected

    def output_path(object)
      File.join(workdir, output_file_name(object))
    end

    def output_file_name(object)
      "thumbnail.#{generator.class.output_extension}"
    end

    def store(object, output_path)
      output_file = File.open(output_path, 'rb')
      object.reload if object.persisted?
      object.add_file output_file, path: Ddr::Models::File::THUMBNAIL, mime_type: generator.class.output_mime_type
      object.save!
    end

  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
ddr-models-3.0.8 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.7 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.6 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.5 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.4 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.3 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.2 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.1 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.rc6 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.rc5 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.rc4 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.rc3 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.rc2 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.rc1 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.beta.22 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.beta.21 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.beta.20 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.beta.18 lib/ddr/derivatives/thumbnail.rb
ddr-models-3.0.0.beta.17 lib/ddr/derivatives/thumbnail.rb