Sha256: c48e587610e4d60a3e5e72cb09a9c46cf749489a2b157dd8219295221a1c7431

Contents?: true

Size: 716 Bytes

Versions: 1

Compression:

Stored size: 716 Bytes

Contents

module OpenstackBridge
  class Container < Struct.new(:swift, :container)
    def exists?(name)
      (200..299).include? swift.request(:head, file_path(name)).code
    rescue OpenstackBridge::Error
      false
    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

1 entries across 1 versions & 1 rubygems

Version Path
openstack_bridge-1.0.1 lib/openstack_bridge/container.rb