Sha256: eba8865fd0a854145e113a156efae63edfabde184e08ed967e710becb96c5bbb

Contents?: true

Size: 730 Bytes

Versions: 5

Compression:

Stored size: 730 Bytes

Contents

module OpenstackBridge
  class Container < Struct.new(:swift, :container)
    def exists?(name)
      begin
        swift.request(:head, file_path(name)).code == 200
      rescue OpenstackBridge::Error
        false
      end
    end

    def objects
      swift.request(:get, container_path).raw_body.split("\n")
    end

    def read(name)
      swift.request(:get, file_path(name)).raw_body
    end

    def create(name, content)
      swift.request(:put, file_path(name), content)
    end

    def delete(name)
      swift.request(:delete, file_path(name))
    end

    private
    def container_path
      "#{swift.end_point}/#{container}"
    end

    def file_path(name)
      "#{container_path}/#{name}"
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
openstack_bridge-1.0.0 lib/openstack_bridge/container.rb
openstack_bridge-0.0.5 lib/openstack_bridge/container.rb
openstack_bridge-0.0.4 lib/openstack_bridge/container.rb
openstack_bridge-0.0.3 lib/openstack_bridge/container.rb
openstack_bridge-0.0.2 lib/openstack_bridge/container.rb