Sha256: c93747412807141a167f863605e5d0bbf927e5fe6c658cf43b7e7e647a04d634

Contents?: true

Size: 659 Bytes

Versions: 3

Compression:

Stored size: 659 Bytes

Contents

require_relative "volumes"
require_relative "wrapper/lvs"
require_relative "wrapper/lvsseg"

module LVM
  class LogicalVolumes
    include Enumerable

    include Volumes
    include Wrapper

    def initialize(options)
      @lvs = LVS.new(options)
      @lvsseg = LVSSEG.new(options)
    end

    # Gather all information about logical volumes.
    #
    # See VolumeGroups.each for a better representation of LVM data.
    def each
      lvs = @lvs.list
      lvsseg = @lvsseg.list

      lvs.each do |lv|
        lv.segments = lvsseg.select { |seg| seg.lv_uuid == lv.uuid }
        yield lv
      end
    end

    def list
      each {}
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
chef-ruby-lvm-0.4.3 lib/lvm/logical_volumes.rb
chef-ruby-lvm-0.4.2 lib/lvm/logical_volumes.rb
chef-ruby-lvm-0.4.1 lib/lvm/logical_volumes.rb