Sha256: 85f4044b4480d5009c20413266589a40888e2e49bcd6050e811c76efd917c035
Contents?: true
Size: 1.49 KB
Versions: 3
Compression:
Stored size: 1.49 KB
Contents
require 'right_aws' # this fakes S3 and makes it write to the file-system so we can check results module RightAws raise "Must define S3_ROOT with fake S3 root before requiring s3_helper" unless defined?(S3_ROOT) class S3 def buckets Dir.glob(S3_ROOT + '/*').collect do |bucket| Bucket.new(self, File.basename(bucket), Time.now, Owner.new(1, 'owner')) end end class Key def put(data=nil, perms=nil, headers={}) Rails.logger.info "Putting to fake S3 store: #{filename}" FileUtils.mkdir_p(File.join(S3_ROOT, @bucket.name, File.dirname(@name))) FileUtils.cp(data.path, filename) end def delete Rails.logger.info "Deleting from fake S3 store: #{filename}" FileUtils.rm(filename) end def exists? File.exists?(filename) end private def filename File.join(S3_ROOT, @bucket.name, @name) end end class Bucket def key(key_name, head=false) Key.new(self, key_name, nil, {}, {}, Time.now, Time.now.to_s, 100, '', Owner.new(1, 'owner')) end end class Grantee def apply true end end end class S3Interface < RightAwsBase def get(bucket, key, headers={}, &block) File.open(File.join(S3_ROOT, bucket, key), 'rb').each{ |io| block.call(io) } end def create_bucket(bucket, headers={}) FileUtils.mkdir_p(File.join(S3_ROOT, bucket)) end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
citrusbyte-milton-0.3.4 | test/s3_helper.rb |
citrusbyte-milton-0.3.5 | test/s3_helper.rb |
coryodaniel-milton-0.3.7 | test/s3_helper.rb |