module Scrivito # TODO Caching: # unlimited urls: ewig # limited urls: zeitlimit - x (x fuer mindestverwendbarkeitszeit) class Blob class << self def configure(config) end def find(id) new(id) end end attr_reader :id def initialize(id) @id = id end def url raw_data["url"] end def content_type meta_data[:content_type] end def length meta_data[:content_length].to_i end private def raw_data @raw_data ||= CmsBackend.instance.find_blob_data_by_id(id) end def meta_data @meta_data ||= RestClient.head(raw_data["meta_url"]).headers end end end