module RailsConnector # TODO Caching: # unlimited urls: ewig # limited urls: zeitlimit - x (x fuer mindestverwendbarkeitszeit) class ServiceBlob 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 ||= ContentService.query("blobs/query", :blob_ids => [id])["blobs"][id] end def meta_data @meta_data ||= RestClient.head(raw_data["meta_url"]).headers end end end