module LinuxAdmin::Mountable

Attributes

fs_type[RW]
mount_point[RW]

Public Class Methods

included(base) click to toggle source
# File lib/linux_admin/mountable.rb, line 17
def self.included(base)
  base.extend(ClassMethods)
end

Public Instance Methods

discover_mount_point() click to toggle source
# File lib/linux_admin/mountable.rb, line 21
def discover_mount_point
  result = Common.run!(Common.cmd(:mount))
  mount_line = result.output.split("\n").find { |line| line.split[0] == path }
  @mount_point = mount_line.split[2] if mount_line
end
format_to(filesystem) click to toggle source
# File lib/linux_admin/mountable.rb, line 27
def format_to(filesystem)
  Common.run!(Common.cmd(:mke2fs),
              :params => {'-t' => filesystem, nil => path})
  @fs_type = filesystem
end
mount(mount_point) click to toggle source
# File lib/linux_admin/mountable.rb, line 33
def mount(mount_point)
  FileUtils.mkdir(mount_point) unless File.directory?(mount_point)

  if self.class.mount_point_exists?(mount_point)
    raise ArgumentError, "disk already mounted at #{mount_point}"
  end

  Common.run!(Common.cmd(:mount), :params => {nil => [path, mount_point]})
  @mount_point = mount_point
end
umount() click to toggle source
# File lib/linux_admin/mountable.rb, line 44
def umount
  Common.run!(Common.cmd(:umount), :params => {nil => [@mount_point]})
end