Sha256: ec76f6af4aba2f9b6b9e715dbcd95abd48e97ad9169b8e145bd7789d3e6f4400

Contents?: true

Size: 750 Bytes

Versions: 8

Compression:

Stored size: 750 Bytes

Contents

require 'facter/util/partitions/linux'
require 'facter/util/partitions/openbsd'

module Facter::Util::Partitions
  IMPLEMENTATIONS = {
    'Linux'   => Linux,
    'OpenBSD' => OpenBSD,
  }

  module NoImplementation
    def self.list
      []
    end
  end

  def self.implementation
    IMPLEMENTATIONS[Facter.fact(:kernel).value] || NoImplementation
  end

  def self.list
    implementation.list
  end

  def self.uuid(partition)
    implementation.uuid(partition)
  end

  def self.size(partition)
    implementation.size(partition)
  end

  def self.mount(partition)
    implementation.mount(partition)
  end

  def self.filesystem(partition)
    implementation.filesystem(partition)
  end

  def self.available?
    !self.list.empty?
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
facter-2.3.0 lib/facter/util/partitions.rb
facter-2.3.0-x86-mingw32 lib/facter/util/partitions.rb
facter-2.3.0-x64-mingw32 lib/facter/util/partitions.rb
facter-2.3.0-universal-darwin lib/facter/util/partitions.rb
facter-2.2.0 lib/facter/util/partitions.rb
facter-2.2.0-x86-mingw32 lib/facter/util/partitions.rb
facter-2.2.0-x64-mingw32 lib/facter/util/partitions.rb
facter-2.2.0-universal-darwin lib/facter/util/partitions.rb