Sha256: e96e0d8b437f21b3f478491e90af739653f40ca1780b7840300d8b25eb8d4c86

Contents?: true

Size: 1.02 KB

Versions: 17

Compression:

Stored size: 1.02 KB

Contents

module Hobo
  module Lib
    module S3
      module Remote
        class IoHandler
          include Hobo::Logging

          def initialize s3, bucket, prefix
            @s3 = s3
            @bucket = bucket
            @prefix = prefix ? "#{prefix.gsub(/^\//, '').chomp('/')}/" : ""
          end

          def ls
            out = {}
            logger.debug("s3sync: Listing remote bucket: #{@bucket} w/ prefix #{@prefix}")
            @s3.buckets[@bucket].objects.with_prefix(@prefix).each do |file|
              filename = file.key.gsub(/^#{@prefix}/, '')
              next if filename == ""
              out[filename] = file.etag.gsub('"', '')
            end
            return out
          end

          def open file, mode
            s3_key = ::File.join(@prefix, file)
            File.new @s3.buckets[@bucket].objects[s3_key], @prefix
          end

          def rm file
            s3_key = ::File.join(@prefix, file)
            @s3.buckets[@bucket].objects[s3_key].delete
          end
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
hobo-inviqa-0.0.15 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.14 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.13 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.11 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.10 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.10.pre.rc11 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.10.pre.rc10 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.10.pre.rc9 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.10.pre.rc8 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.10.pre.rc7 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.10.pre.rc6 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.10.pre.rc4 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.10.pre.rc2 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.9 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.9.pre.rc2 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.9.pre.rc1 lib/hobo/lib/s3/remote/iohandler.rb
hobo-inviqa-0.0.9.pre.alpha lib/hobo/lib/s3/remote/iohandler.rb