Sha256: 1542f231df3cca9f7b705109a0fbcdac6389f8fe830d3f6de41f3506100ec1a0
Contents?: true
Size: 980 Bytes
Versions: 3
Compression:
Stored size: 980 Bytes
Contents
require "aws-sdk" module RailsConnector class Blob def self.find(id) new(blob_class.find(id)) end def self.config @config or raise "Blob storage has not been configured yet" end def self.configure(spec) @config = spec.symbolize_keys end def self.blob_class @blob_class ||= blob_class_from_config end # for testing purposes def self.reset_blob_class_cache # :nodoc: @blob_class = nil end def self.blob_class_from_config blob_class = case config[:type] when "s3" S3Blob else raise "Unsupported blob storage type #{config[:type]}" end blob_class.configure(config) blob_class end attr_reader :instance def initialize(blob_instance) @instance = blob_instance end def id instance.id end def url instance.url end def content_type instance.content_type end def length instance.length end end end # module RailsConnector
Version data entries
3 entries across 3 versions & 1 rubygems