Sha256: e96396e455824d4fa1cd8cae70fa80d003c076a5c0d1252efafc967481863719

Contents?: true

Size: 1.04 KB

Versions: 19

Compression:

Stored size: 1.04 KB

Contents

module StorageRoom
  # An Image with optional thumbnails
  class Image < File     
    # Returns all valid ImageVersion identifiers for this Image
    def version_identifiers
      self[:@versions].keys
    end
    
    # Returns the URL of an Image or the URL of a version if a string or symbol is passed
    def url(name = nil)
      if name
        if version_identifiers.include?(name.to_s)
          self[:@versions][name.to_s][:@url]
        else
          raise "Invalid Image Version identifier: '#{name}' (must be #{version_identifiers.join(', ')})"
        end
      else
        self[:@url]
      end
    end
    
    # Are versions of the Image still being processed on the server?
    def processing?
      self[:@processing]
    end
    
    def local_filename(name = nil)
      localize_filename(url(name))
    end
    
    def download_to_directory(path)
      super
      
      version_identifiers.each do |version|
        download_file(self.url(version), ::File.join(path, local_filename(version)))
      end
      true
    end
    
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
storage_room-0.3.24 lib/storage_room/embeddeds/image.rb
storage_room-0.3.23 lib/storage_room/embeddeds/image.rb
storage_room-0.3.22 lib/storage_room/embeddeds/image.rb
storage_room-0.3.21 lib/storage_room/embeddeds/image.rb
storage_room-0.3.20 lib/storage_room/embeddeds/image.rb
storage_room-0.3.19 lib/storage_room/embeddeds/image.rb
storage_room-0.3.18 lib/storage_room/embeddeds/image.rb
storage_room-0.3.17 lib/storage_room/embeddeds/image.rb
storage_room-0.3.16 lib/storage_room/embeddeds/image.rb
storage_room-0.3.15 lib/storage_room/embeddeds/image.rb
storage_room-0.3.14 lib/storage_room/embeddeds/image.rb
storage_room-0.3.13 lib/storage_room/embeddeds/image.rb
storage_room-0.3.12 lib/storage_room/embeddeds/image.rb
storage_room-0.3.11 lib/storage_room/embeddeds/image.rb
storage_room-0.3.10 lib/storage_room/embeddeds/image.rb
storage_room-0.3.9 lib/storage_room/embeddeds/image.rb
storage_room-0.3.8 lib/storage_room/embeddeds/image.rb
storage_room-0.3.7 lib/storage_room/embeddeds/image.rb
storage_room-0.3.6 lib/storage_room/embeddeds/image.rb