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