Sha256: aee9ff0f9f521bfbd9ea27bfb087825dc1338fd219f0bf2af5e1ad47ea3a955e

Contents?: true

Size: 672 Bytes

Versions: 50

Compression:

Stored size: 672 Bytes

Contents

require 'hackmac/plist'

module Hackmac
  class DiskInfo
    include Hackmac::Plist

    def initialize(disk:)
      @disk = disk
      plist *(%w[ diskutil info -plist ] << disk)
    end

    attr_reader :disk
  end

  class Disks
    include Hackmac::Plist

    def initialize(limiter: nil, device: nil)
      plist *(%w[ diskutil list -plist ] + [ limiter, device ].compact)
    end
  end

  class ContainerDisk < Disks
    def initialize(disk:, limiter: nil)
      @disk = disk
      device = `#{Shellwords.join(%w[ diskutil list ] << disk)}`.
        lines.grep(/Apple_APFS/).first&.split(/\s+/)&.[](4)

      super device: device, limiter: limiter
    end
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
hackmac-1.8.1 lib/hackmac/disks.rb
hackmac-1.8.0 lib/hackmac/disks.rb
hackmac-1.7.1 lib/hackmac/disks.rb
hackmac-1.7.0 lib/hackmac/disks.rb
hackmac-1.6.1 lib/hackmac/disks.rb
hackmac-1.6.0 lib/hackmac/disks.rb
hackmac-1.5.1 lib/hackmac/disks.rb
hackmac-1.5.0 lib/hackmac/disks.rb
hackmac-1.4.2 lib/hackmac/disks.rb
hackmac-1.4.1 lib/hackmac/disks.rb
hackmac-1.4.0 lib/hackmac/disks.rb
hackmac-1.3.0 lib/hackmac/disks.rb
hackmac-1.2.1 lib/hackmac/disks.rb
hackmac-1.2.0 lib/hackmac/disks.rb
hackmac-1.1.3 lib/hackmac/disks.rb
hackmac-1.1.2 lib/hackmac/disks.rb
hackmac-1.1.1 lib/hackmac/disks.rb
hackmac-1.1.0 lib/hackmac/disks.rb
hackmac-1.0.5 lib/hackmac/disks.rb
hackmac-1.0.4 lib/hackmac/disks.rb