diff --git a/lib/linux_admin.rb b/lib/linux_admin.rb index 34a2ca3..14e2153 100644 --- a/lib/linux_admin.rb +++ b/lib/linux_admin.rb @@ -2,11 +2,11 @@ require 'active_support' require 'active_support/core_ext' -require 'linux_admin/registration_system' require 'linux_admin/common' require 'linux_admin/exceptions' require 'linux_admin/package' +require 'linux_admin/registration_system' require 'linux_admin/rpm' require 'linux_admin/deb' require 'linux_admin/version' @@ -26,7 +26,7 @@ require 'linux_admin/physical_volume' require 'linux_admin/volume_group' -class LinuxAdmin +module LinuxAdmin extend Common include Common end diff --git a/lib/linux_admin/common.rb b/lib/linux_admin/common.rb index fcbeb03..1e574ce 100644 --- a/lib/linux_admin/common.rb +++ b/lib/linux_admin/common.rb @@ -1,6 +1,6 @@ require 'awesome_spawn' -class LinuxAdmin +module LinuxAdmin module Common def cmd(cmd) Distros.local.command(cmd) diff --git a/lib/linux_admin/deb.rb b/lib/linux_admin/deb.rb index 489a85f..3b46120 100644 --- a/lib/linux_admin/deb.rb +++ b/lib/linux_admin/deb.rb @@ -3,7 +3,7 @@ # Copyright (C) 2013 Red Hat Inc. # Licensed under the MIT License -class LinuxAdmin +module LinuxAdmin class Deb < Package APT_CACHE_CMD = '/usr/bin/apt-cache' diff --git a/lib/linux_admin/disk.rb b/lib/linux_admin/disk.rb index 20a8cf6..64c8600 100644 --- a/lib/linux_admin/disk.rb +++ b/lib/linux_admin/disk.rb @@ -5,8 +5,10 @@ require 'linux_admin/partition' -class LinuxAdmin - class Disk < LinuxAdmin +module LinuxAdmin + class Disk + include Common + PARTED_FIELDS = [:id, :start_sector, :end_sector, :size, :partition_type, :fs_type] diff --git a/lib/linux_admin/distro.rb b/lib/linux_admin/distro.rb index 5a93249..af10d1e 100644 --- a/lib/linux_admin/distro.rb +++ b/lib/linux_admin/distro.rb @@ -5,7 +5,7 @@ require 'linux_admin/etc_issue' -class LinuxAdmin +module LinuxAdmin module Distros def self.generic @generic ||= Distro.new(:generic) diff --git a/lib/linux_admin/etc_issue.rb b/lib/linux_admin/etc_issue.rb index 0cb045f..4b83667 100644 --- a/lib/linux_admin/etc_issue.rb +++ b/lib/linux_admin/etc_issue.rb @@ -5,7 +5,7 @@ require 'singleton' -class LinuxAdmin +module LinuxAdmin class EtcIssue include Singleton diff --git a/lib/linux_admin/exceptions.rb b/lib/linux_admin/exceptions.rb index a620c98..0a3c00c 100644 --- a/lib/linux_admin/exceptions.rb +++ b/lib/linux_admin/exceptions.rb @@ -1,4 +1,4 @@ -class LinuxAdmin +module LinuxAdmin class CredentialError < AwesomeSpawn::CommandResultError def initialize(result) super("Invalid username or password", result) diff --git a/lib/linux_admin/fstab.rb b/lib/linux_admin/fstab.rb index fe2e5b5..91b9a01 100644 --- a/lib/linux_admin/fstab.rb +++ b/lib/linux_admin/fstab.rb @@ -5,8 +5,8 @@ require 'singleton' -class LinuxAdmin - class FSTabEntry < LinuxAdmin +module LinuxAdmin + class FSTabEntry attr_accessor :device attr_accessor :mount_point attr_accessor :fs_type @@ -58,7 +58,7 @@ def formatted_columns(max_lengths) end end - class FSTab < LinuxAdmin + class FSTab include Singleton attr_accessor :entries diff --git a/lib/linux_admin/hosts.rb b/lib/linux_admin/hosts.rb index 9a63f96..f6a1dd1 100644 --- a/lib/linux_admin/hosts.rb +++ b/lib/linux_admin/hosts.rb @@ -1,5 +1,5 @@ -class LinuxAdmin - class Hosts < LinuxAdmin +module LinuxAdmin + class Hosts attr_accessor :filename attr_accessor :raw_lines attr_accessor :parsed_file diff --git a/lib/linux_admin/logical_volume.rb b/lib/linux_admin/logical_volume.rb index b42d3fb..0c9efa5 100644 --- a/lib/linux_admin/logical_volume.rb +++ b/lib/linux_admin/logical_volume.rb @@ -5,7 +5,7 @@ require 'pathname' -class LinuxAdmin +module LinuxAdmin class LogicalVolume < Volume include Mountable diff --git a/lib/linux_admin/mountable.rb b/lib/linux_admin/mountable.rb index ac3ef0e..15e00f0 100644 --- a/lib/linux_admin/mountable.rb +++ b/lib/linux_admin/mountable.rb @@ -3,14 +3,17 @@ # Copyright (C) 2013 Red Hat Inc. # Licensed under the MIT License -class LinuxAdmin +module LinuxAdmin module Mountable attr_accessor :fs_type attr_accessor :mount_point + include Common module ClassMethods + include Common + def mount_point_exists?(mount_point) - result = self.run!(cmd(:mount)) + result = run!(cmd(:mount)) result.output.split("\n").any? { |line| line.split[2] == mount_point } end diff --git a/lib/linux_admin/package.rb b/lib/linux_admin/package.rb index 1e1e4aa..f4bc866 100644 --- a/lib/linux_admin/package.rb +++ b/lib/linux_admin/package.rb @@ -1,4 +1,5 @@ -class LinuxAdmin - class Package < LinuxAdmin +module LinuxAdmin + class Package + extend Common end end diff --git a/lib/linux_admin/partition.rb b/lib/linux_admin/partition.rb index b273ddf..76af50d 100644 --- a/lib/linux_admin/partition.rb +++ b/lib/linux_admin/partition.rb @@ -5,8 +5,8 @@ require 'fileutils' -class LinuxAdmin - class Partition < LinuxAdmin +module LinuxAdmin + class Partition include Mountable attr_accessor :id diff --git a/lib/linux_admin/physical_volume.rb b/lib/linux_admin/physical_volume.rb index 9b27c02..0e183eb 100644 --- a/lib/linux_admin/physical_volume.rb +++ b/lib/linux_admin/physical_volume.rb @@ -3,8 +3,11 @@ # Copyright (C) 2013 Red Hat Inc. # Licensed under the MIT License -class LinuxAdmin +module LinuxAdmin class PhysicalVolume < Volume + include Common + extend Common + # physical volume device name attr_accessor :device_name diff --git a/lib/linux_admin/registration_system.rb b/lib/linux_admin/registration_system.rb index cf273e9..768ff79 100644 --- a/lib/linux_admin/registration_system.rb +++ b/lib/linux_admin/registration_system.rb @@ -1,5 +1,7 @@ -class LinuxAdmin - class RegistrationSystem < LinuxAdmin +module LinuxAdmin + class RegistrationSystem + include Common + def self.registration_type(reload = false) return @registration_type if @registration_type && !reload @registration_type = registration_type_uncached diff --git a/lib/linux_admin/registration_system/rhn.rb b/lib/linux_admin/registration_system/rhn.rb index d4ad65e..cc518a9 100644 --- a/lib/linux_admin/registration_system/rhn.rb +++ b/lib/linux_admin/registration_system/rhn.rb @@ -1,6 +1,6 @@ require 'nokogiri' -class LinuxAdmin +module LinuxAdmin class Rhn < RegistrationSystem SATELLITE5_SERVER_CERT_PATH = "pub/rhn-org-trusted-ssl-cert-1.0-1.noarch.rpm" INSTALLED_SERVER_CERT_PATH = "/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT" diff --git a/lib/linux_admin/registration_system/subscription_manager.rb b/lib/linux_admin/registration_system/subscription_manager.rb index 08bd10b..54cf1b7 100644 --- a/lib/linux_admin/registration_system/subscription_manager.rb +++ b/lib/linux_admin/registration_system/subscription_manager.rb @@ -1,6 +1,6 @@ require 'date' -class LinuxAdmin +module LinuxAdmin class SubscriptionManager < RegistrationSystem def run!(cmd, options = {}) super(cmd, options) diff --git a/lib/linux_admin/rpm.rb b/lib/linux_admin/rpm.rb index ed5a89f..1f11745 100644 --- a/lib/linux_admin/rpm.rb +++ b/lib/linux_admin/rpm.rb @@ -1,4 +1,4 @@ -class LinuxAdmin +module LinuxAdmin class Rpm < Package def self.rpm_cmd Distros.local.command(:rpm) diff --git a/lib/linux_admin/service.rb b/lib/linux_admin/service.rb index dfe3a25..67caf0d 100644 --- a/lib/linux_admin/service.rb +++ b/lib/linux_admin/service.rb @@ -3,10 +3,11 @@ # Copyright (C) 2013 Red Hat Inc. # Licensed under the MIT License -class LinuxAdmin - class Service < LinuxAdmin - attr_accessor :id +module LinuxAdmin + class Service + include Common + attr_accessor :id private public diff --git a/lib/linux_admin/system.rb b/lib/linux_admin/system.rb index e149922..146a505 100644 --- a/lib/linux_admin/system.rb +++ b/lib/linux_admin/system.rb @@ -3,8 +3,10 @@ # Copyright (C) 2013 Red Hat Inc. # Licensed under the MIT License -class LinuxAdmin - class System < LinuxAdmin +module LinuxAdmin + class System + extend Common + def self.reboot! run!(cmd(:shutdown), :params => { "-r" => "now" }) diff --git a/lib/linux_admin/version.rb b/lib/linux_admin/version.rb index 6934795..43ccdb1 100644 --- a/lib/linux_admin/version.rb +++ b/lib/linux_admin/version.rb @@ -1,3 +1,3 @@ -class LinuxAdmin +module LinuxAdmin VERSION = "0.9.4" end diff --git a/lib/linux_admin/volume.rb b/lib/linux_admin/volume.rb index 0f6b84e..76817ac 100644 --- a/lib/linux_admin/volume.rb +++ b/lib/linux_admin/volume.rb @@ -3,8 +3,8 @@ # Copyright (C) 2013 Red Hat Inc. # Licensed under the MIT License -class LinuxAdmin - class Volume < LinuxAdmin +module LinuxAdmin + class Volume private def self.process_volume_display_line(line) diff --git a/lib/linux_admin/volume_group.rb b/lib/linux_admin/volume_group.rb index 3567a27..157d0f7 100644 --- a/lib/linux_admin/volume_group.rb +++ b/lib/linux_admin/volume_group.rb @@ -3,8 +3,11 @@ # Copyright (C) 2013 Red Hat Inc. # Licensed under the MIT License -class LinuxAdmin - class VolumeGroup < LinuxAdmin +module LinuxAdmin + class VolumeGroup + include Common + extend Common + # volume group name attr_accessor :name diff --git a/lib/linux_admin/yum.rb b/lib/linux_admin/yum.rb index caf03b3..57510ab 100644 --- a/lib/linux_admin/yum.rb +++ b/lib/linux_admin/yum.rb @@ -1,8 +1,10 @@ require 'fileutils' require 'inifile' -class LinuxAdmin - class Yum < LinuxAdmin +module LinuxAdmin + class Yum + extend Common + def self.create_repo(path, options = {}) raise ArgumentError, "path is required" unless path options = options.reverse_merge(:database => true, :unique_file_names => true) diff --git a/lib/linux_admin/yum/repo_file.rb b/lib/linux_admin/yum/repo_file.rb index a151176..ab3bd78 100644 --- a/lib/linux_admin/yum/repo_file.rb +++ b/lib/linux_admin/yum/repo_file.rb @@ -1,6 +1,6 @@ require 'inifile' -class LinuxAdmin +module LinuxAdmin class Yum class RepoFile < IniFile def self.create(filename) diff --git a/spec/mountable_spec.rb b/spec/mountable_spec.rb index f52f2ef..b816f69 100644 --- a/spec/mountable_spec.rb +++ b/spec/mountable_spec.rb @@ -1,4 +1,4 @@ -class TestMountable < LinuxAdmin +class TestMountable include LinuxAdmin::Mountable def path