Sha256: 4431d671acb173d2f95e94e0c1fc123e0c07403af58a41ec43694cd7230126e1

Contents?: true

Size: 816 Bytes

Versions: 2

Compression:

Stored size: 816 Bytes

Contents

module Flms
  class ImageLayer < Layer
    attr_accessible :image, :image_cache, :image_display_mode,
                    :image_width, :image_height

    validates_inclusion_of :image_display_mode, in: Flms::Layer::IMAGE_DISPLAY_MODES

    mount_uploader :image, ImageUploader
    before_save :retain_geometry

    def view_object
      @view_object ||= Flms::ImageLayerViewObject.new(self)
    end

    def uploaded_filename
      File.basename(image.path) if image?
    end

    # Pull geometry information out of uploaded file and store as attributes in
    # model prior to save.  See image_uploader.rb#get_geometry.
    def retain_geometry
      geometry = self.image.normal.geometry
      if geometry
        self.image_width = geometry[0]
        self.image_height = geometry[1]
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
flms-0.9.0 app/models/flms/image_layer.rb
flms-0.1.0 app/models/flms/image_layer.rb