Sha256: 12441df9892601e88d0be5bd3ccb6c0dffd8bab68968ac12da3e8521a98beba2

Contents?: true

Size: 693 Bytes

Versions: 2

Compression:

Stored size: 693 Bytes

Contents

module CephStorage
  module StorageObject
    # Wrapper for RadosObjectEnumerator
    class XattrEnumerator < ::CephRuby::XattrEnumerator
      extend CephStorage::StorageObject::RadosWrapper
      attr_accessor :pool_factory, :object

      wrap_me :open, :close, :next_xattr_object

      def initialize(object)
        self.pool_factory = object.pool_factory
        self.object = object
        super(object)
      end

      def each
        return enum_for(:each) unless block_given?

        super do |x|
          yield object.xattr(x.name)
        end
      end

      def log(message)
        CephStorage.log("xattr_enumerator #{object.name} #{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/xattr_enumerator.rb
ceph_storage-0.1.0 lib/ceph_storage/storage_object/xattr_enumerator.rb