Sha256: cbb6b506a5b21711e628fef56227e504c2919b59d1de150b2c209f11540ec36c

Contents?: true

Size: 757 Bytes

Versions: 2

Compression:

Stored size: 757 Bytes

Contents

module CephStorage
  module StorageObject
    # Wrapper for RadosObjectEnumerator
    class RadosStorageObjectEnumerator < ::CephRuby::RadosObjectEnumerator
      extend CephStorage::StorageObject::RadosWrapper
      attr_accessor :pool_factory

      wrap_me :open, :close, :position, :seek, :next_rados_object

      def initialize(pool_factory)
        self.pool_factory = pool_factory
        super(nil)
        yield self if block_given?
      end

      def each
        return enum_for(:each) unless block_given?

        super do |rados_object|
          yield pool_factory.storage_object(rados_object.name)
        end
      end

      def log(message)
        CephStorage.log("RadosStorageObjectEnumerator #{message}")
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ceph_storage-0.1.1 lib/ceph_storage/storage_object/rados_storage_object_enumerator.rb
ceph_storage-0.1.0 lib/ceph_storage/storage_object/rados_storage_object_enumerator.rb