diff --git a/lib/linux_admin.rb b/lib/linux_admin.rb index 85b139d..3f1a5ac 100644 --- a/lib/linux_admin.rb +++ b/lib/linux_admin.rb @@ -15,9 +15,6 @@ require 'linux_admin/yum' require 'linux_admin/service' -require 'linux_admin/sysv_service' -require 'linux_admin/systemctl' - require 'linux_admin/mountable' require 'linux_admin/disk' require 'linux_admin/hosts' diff --git a/lib/linux_admin/service.rb b/lib/linux_admin/service.rb index df10752..c69e072 100644 --- a/lib/linux_admin/service.rb +++ b/lib/linux_admin/service.rb @@ -34,8 +34,10 @@ def initialize(name) private def self.service_type_uncached - cmd?(:systemctl) ? Systemctl : SysvService + cmd?(:systemctl) ? SystemdService : SysVInitService end private_class_method :service_type_uncached end end + +Dir.glob(File.join(File.dirname(__FILE__), "service", "*.rb")).each { |f| require f } diff --git a/lib/linux_admin/sysv_service.rb b/lib/linux_admin/service/sys_v_init_service.rb similarity index 85% rename from lib/linux_admin/sysv_service.rb rename to lib/linux_admin/service/sys_v_init_service.rb index 13f46f5..1a08d30 100644 --- a/lib/linux_admin/sysv_service.rb +++ b/lib/linux_admin/service/sys_v_init_service.rb @@ -1,10 +1,5 @@ -# LinuxAdmin SysvService Representation -# -# Copyright (C) 2013 Red Hat Inc. -# Licensed under the MIT License - module LinuxAdmin - class SysvService < Service + class SysVInitService < Service def running? run(cmd(:service), :params => { nil => [name, "status"] }).exit_status == 0 diff --git a/lib/linux_admin/systemctl.rb b/lib/linux_admin/service/systemd_service.rb similarity index 96% rename from lib/linux_admin/systemctl.rb rename to lib/linux_admin/service/systemd_service.rb index 0607505..0448a69 100644 --- a/lib/linux_admin/systemctl.rb +++ b/lib/linux_admin/service/systemd_service.rb @@ -1,5 +1,5 @@ module LinuxAdmin - class Systemctl < Service + class SystemdService < Service def running? run(cmd(:systemctl), :params => {nil => ["status", name]}).exit_status == 0 diff --git a/spec/sysv_service_spec.rb b/spec/service/sys_v_init_service_spec.rb similarity index 98% rename from spec/sysv_service_spec.rb rename to spec/service/sys_v_init_service_spec.rb index 4a2db32..b3c362d 100644 --- a/spec/sysv_service_spec.rb +++ b/spec/service/sys_v_init_service_spec.rb @@ -1,5 +1,5 @@ -describe LinuxAdmin::SysvService do - before(:each) do +describe LinuxAdmin::SysVInitService do + before do @service = described_class.new 'foo' end diff --git a/spec/systemctl_spec.rb b/spec/service/systemd_service_spec.rb similarity index 96% rename from spec/systemctl_spec.rb rename to spec/service/systemd_service_spec.rb index 17ae42e..b9966f5 100644 --- a/spec/systemctl_spec.rb +++ b/spec/service/systemd_service_spec.rb @@ -1,6 +1,6 @@ -describe LinuxAdmin::Systemctl do - before(:each) do - @service = LinuxAdmin::Systemctl.new 'foo' +describe LinuxAdmin::SystemdService do + before do + @service = described_class.new 'foo' end describe "#running?" do diff --git a/spec/service_spec.rb b/spec/service_spec.rb index cfa54b9..cdc3a99 100644 --- a/spec/service_spec.rb +++ b/spec/service_spec.rb @@ -1,13 +1,13 @@ describe LinuxAdmin::Service do context ".service_type" do it "on systemctl systems" do - stub_to_service_type(:systemctl) - expect(described_class.service_type).to eq(LinuxAdmin::Systemctl) + stub_to_service_type(:systemd_service) + expect(described_class.service_type).to eq(LinuxAdmin::SystemdService) end it "on sysv systems" do - stub_to_service_type(:sysv_service) - expect(described_class.service_type).to eq(LinuxAdmin::SysvService) + stub_to_service_type(:sys_v_init_service) + expect(described_class.service_type).to eq(LinuxAdmin::SysVInitService) end it "should memoize results" do @@ -25,13 +25,13 @@ context ".new" do it "on systemctl systems" do - stub_to_service_type(:systemctl) - expect(described_class.new("xxx")).to be_kind_of(LinuxAdmin::Systemctl) + stub_to_service_type(:systemd_service) + expect(described_class.new("xxx")).to be_kind_of(LinuxAdmin::SystemdService) end it "on sysv systems" do - stub_to_service_type(:sysv_service) - expect(described_class.new("xxx")).to be_kind_of(LinuxAdmin::SysvService) + stub_to_service_type(:sys_v_init_service) + expect(described_class.new("xxx")).to be_kind_of(LinuxAdmin::SysVInitService) end end @@ -49,6 +49,6 @@ end def stub_to_service_type(system) - allow(LinuxAdmin::Service).to receive(:cmd?).with(:systemctl).and_return(system == :systemctl) + allow(LinuxAdmin::Service).to receive(:cmd?).with(:systemctl).and_return(system == :systemd_service) end end