Sha256: 9cf08979392f0b73478c41d008863f7856b2fbb13693bdec125cda61da7cd3bb

Contents?: true

Size: 575 Bytes

Versions: 2

Compression:

Stored size: 575 Bytes

Contents

module CephStorage
  # Enumerator of Ceph pools
  class PoolEnumerator
    include Enumerable
    attr_accessor :cluster_factory
    def initialize(cluster_factory)
      self.cluster_factory = cluster_factory
      @rados_pool_enumerator = cluster_factory.rados_cluster.pools
      yield self if block_given?
    end

    def each
      return enum_for(:each) unless block_given?

      @rados_pool_enumerator.each do |pool|
        yield PoolFactory.build(cluster_factory, pool.name)
      end
    end

    def size
      cluster.rados_cluster.pools.size
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ceph_storage-0.1.1 lib/ceph_storage/pool_enumerator.rb
ceph_storage-0.1.0 lib/ceph_storage/pool_enumerator.rb