Sha256: 47a40cdb876281083abd29cc88c508996235bc18e6fbbe2bc5cbb9395771ead3
Contents?: true
Size: 1019 Bytes
Versions: 1
Compression:
Stored size: 1019 Bytes
Contents
require 'alephant/cache/version' require 'alephant/logger' require 'aws-sdk' module Alephant class Cache include Logger attr_reader :id, :bucket, :path def initialize(id, path) @id = id @path = path @bucket = AWS::S3.new.buckets[id] logger.info("Cache.initialize: end with id #{id} and path #{path}") end def clear bucket.objects.with_prefix(path).delete_all logger.info("Cache.clear: #{path}") end def put(id, data, content_type = 'text/plain', meta = {}) bucket.objects["#{path}/#{id}"].write( data, { :content_type => content_type, :metadata => meta } ) logger.info("Cache.put: #{path}/#{id}") end def get(id) logger.info("Cache.get: #{path}/#{id}") object = bucket.objects["#{path}/#{id}"] { :content => object.read, :content_type => object.content_type, :meta => object.metadata.to_h } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
alephant-cache-1.1.1 | lib/alephant/cache.rb |