linux_admin 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/linux_admin.rb CHANGED
@@ -1,11 +1,11 @@
1
1
  require 'more_core_extensions/all'
2
+ require 'active_support'
2
3
  require 'active_support/core_ext'
3
4
 
4
5
  require 'linux_admin/registration_system'
5
6
 
6
7
  require 'linux_admin/common'
7
8
  require 'linux_admin/exceptions'
8
- require 'linux_admin/package'
9
9
  require 'linux_admin/rpm'
10
10
  require 'linux_admin/deb'
11
11
  require 'linux_admin/version'
@@ -3,7 +3,7 @@ require 'awesome_spawn'
3
3
  class LinuxAdmin
4
4
  module Common
5
5
  def cmd(cmd)
6
- Distros::Distro.local.class::COMMANDS[cmd]
6
+ Distros.local.command(cmd)
7
7
  end
8
8
 
9
9
  def run(cmd, options = {})
@@ -4,7 +4,7 @@
4
4
  # Licensed under the MIT License
5
5
 
6
6
  class LinuxAdmin
7
- class Deb < Package
7
+ class Deb
8
8
  APT_CACHE_CMD = '/usr/bin/apt-cache'
9
9
 
10
10
  def self.from_line(apt_cache_line, in_description=false)
@@ -34,6 +34,5 @@ class LinuxAdmin
34
34
  def self.info(pkg)
35
35
  self.from_string(run!(APT_CACHE_CMD, :params => ["show", pkg]).output)
36
36
  end
37
-
38
37
  end
39
38
  end
@@ -53,7 +53,7 @@ class LinuxAdmin
53
53
  public
54
54
 
55
55
  def self.local
56
- Dir.glob('/dev/[vhs]d[a-z]').collect do |d|
56
+ Dir.glob(['/dev/[vhs]d[a-z]', '/dev/xvd[a-z]']).collect do |d|
57
57
  Disk.new :path => d
58
58
  end
59
59
  end
@@ -152,7 +152,7 @@ class LinuxAdmin
152
152
  end
153
153
 
154
154
  id = partitions.empty? ? 1 : (partitions.last.id + 1)
155
- options = parted_options_array('mkpart', '-a opt', partition_type, start, finish)
155
+ options = parted_options_array('mkpart', '-a', 'opt', partition_type, start, finish)
156
156
  run!(cmd(:parted), :params => { nil => options})
157
157
 
158
158
  partition = Partition.new(:disk => self,
@@ -8,135 +8,60 @@ require 'linux_admin/etc_issue'
8
8
  class LinuxAdmin
9
9
  module Distros
10
10
  def self.generic
11
- @generic ||= Generic.new
12
- end
13
-
14
- def self.redhat
15
- @redhat ||= RedHat.new
11
+ @generic ||= Distro.new(:generic)
16
12
  end
17
13
 
18
14
  def self.rhel
19
- @rhel ||= RHEL.new
15
+ @rhel ||= Distro.new(:rhel, '/etc/redhat-release', ['red hat', 'centos'], LinuxAdmin::Rpm)
20
16
  end
21
17
 
22
18
  def self.fedora
23
- @fedora ||= Fedora.new
19
+ @fedora ||= Distro.new(:fedora, "/etc/fedora-release", ['Fedora'], LinuxAdmin::Rpm)
24
20
  end
25
21
 
26
22
  def self.ubuntu
27
- @ubuntu ||= Ubuntu.new
23
+ @ubuntu ||= Distro.new(:ubuntu, nil, ['ubuntu'], LinuxAdmin::Deb)
28
24
  end
29
25
 
30
26
  def self.all
31
- @distros ||= [generic, redhat, ubuntu]
27
+ @distros ||= [rhel, fedora, ubuntu, generic]
32
28
  end
33
29
 
34
30
  def self.local
35
- Distro.local
31
+ @local ||= begin
32
+ Distros.all.detect(&:detected?) || Distros.generic
33
+ end
36
34
  end
37
35
 
38
36
  class Distro
39
- RELEASE_FILE = ''
40
- ETC_ISSUE_KEYWORDS = []
41
-
42
- def self.etc_issue_keywords
43
- self::ETC_ISSUE_KEYWORDS
37
+ attr_accessor :release_file, :etc_issue_keywords, :info_class
38
+
39
+ def initialize(id, release_file = nil, etc_issue_keywords = [], info_class = nil)
40
+ @id = id
41
+ @path = %w(/sbin /bin /usr/bin /usr/sbin)
42
+ @release_file = release_file
43
+ @etc_issue_keywords = etc_issue_keywords
44
+ @info_class = info_class
44
45
  end
45
46
 
46
- def self.release_file
47
- self::RELEASE_FILE
48
- end
49
-
50
- def self.local
51
- # this can be cleaned up..
52
- @local ||= begin
53
- result = nil
54
- Distros.constants.each do |cdistro|
55
- distro_method = cdistro.to_s.downcase.to_sym
56
- distro = Distros.const_get(cdistro)
57
- next unless distro < Distro
58
- result = Distros.send(distro_method) if distro.detected?
59
- end
60
- result || Distros.generic
61
- end
62
- end
63
-
64
- def self.detected?
47
+ def detected?
65
48
  detected_by_etc_issue? || detected_by_etc_release?
66
49
  end
67
50
 
68
- def self.detected_by_etc_issue?
69
- etc_issue_keywords.any? { |k| EtcIssue.instance.to_s.include?(k) }
51
+ def detected_by_etc_issue?
52
+ etc_issue_keywords && etc_issue_keywords.any? { |k| EtcIssue.instance.include?(k) }
70
53
  end
71
54
 
72
- def self.detected_by_etc_release?
73
- File.exists?(release_file)
55
+ def detected_by_etc_release?
56
+ release_file && File.exists?(release_file)
74
57
  end
75
- end
76
-
77
- class Generic < Distro
78
- COMMANDS = {}
79
58
 
80
- def initialize
81
- @id = :generic
59
+ def command(name)
60
+ @path.collect { |dir| "#{dir}/#{name}" }.detect { |cmd| File.exists?(cmd) }
82
61
  end
83
- end
84
-
85
- class RedHat < Distro
86
- COMMANDS = {:service => '/sbin/service',
87
- :chkconfig => '/sbin/chkconfig',
88
- :parted => '/sbin/parted',
89
- :mount => '/bin/mount',
90
- :umount => '/bin/umount',
91
- :shutdown => '/sbin/shutdown',
92
- :mke2fs => '/sbin/mke2fs',
93
- :fdisk => '/sbin/fdisk',
94
- :dd => '/bin/dd',
95
- :vgdisplay => '/sbin/vgdisplay',
96
- :pvdisplay => '/sbin/pvdisplay',
97
- :lvdisplay => '/sbin/lvdisplay',
98
- :lvextend => '/sbin/lvextend',
99
- :vgextend => '/sbin/vgextend',
100
- :lvcreate => '/sbin/lvcreate',
101
- :pvcreate => '/sbin/pvcreate',
102
- :vgcreate => '/sbin/vgcreate'}
103
-
104
- def initialize
105
- @id = :redhat
106
- end
107
- end
108
-
109
- class RHEL < RedHat
110
- RELEASE_FILE = "/etc/redhat-release"
111
- ETC_ISSUE_KEYWORDS = ['red hat', 'Red Hat', 'centos', 'CentOS']
112
-
113
- COMMANDS = COMMANDS.merge(
114
- :rpm => '/bin/rpm'
115
- )
116
- def initialize
117
- @id = :rhel
118
- end
119
- end
120
-
121
- class Fedora < RedHat
122
- RELEASE_FILE = "/etc/fedora-release"
123
- ETC_ISSUE_KEYWORDS = ['Fedora']
124
-
125
- COMMANDS = COMMANDS.merge(
126
- :rpm => '/usr/bin/rpm'
127
- )
128
- def initialize
129
- @id = :fedora
130
- end
131
- end
132
-
133
- class Ubuntu < Distro
134
- ETC_ISSUE_KEYWORDS = ['ubuntu']
135
-
136
- COMMANDS = {}
137
62
 
138
- def initialize
139
- @id = :ubuntu
63
+ def info(pkg)
64
+ info_class ? info_class.info(pkg) : nil
140
65
  end
141
66
  end
142
67
  end
@@ -11,18 +11,16 @@ class LinuxAdmin
11
11
 
12
12
  PATH = '/etc/issue'
13
13
 
14
- def initialize
15
- refresh
14
+ def include?(osname)
15
+ data.downcase.include?(osname.to_s.downcase)
16
16
  end
17
17
 
18
- def to_s
19
- @data.to_s
18
+ def data
19
+ @data ||= File.exists?(PATH) ? File.read(PATH) : ""
20
20
  end
21
21
 
22
- private
23
-
24
22
  def refresh
25
- @data = File.exists?(PATH) ? File.read(PATH) : ""
23
+ @data = nil
26
24
  end
27
25
  end
28
26
  end
@@ -1,7 +1,7 @@
1
1
  class LinuxAdmin
2
- class Rpm < Package
2
+ class Rpm
3
3
  def self.rpm_cmd
4
- Distros::Distro.local.class::COMMANDS[:rpm]
4
+ Distros.local.command(:rpm)
5
5
  end
6
6
 
7
7
  def self.list_installed
@@ -1,3 +1,3 @@
1
1
  class LinuxAdmin
2
- VERSION = "0.8.1"
2
+ VERSION = "0.9.0"
3
3
  end
data/spec/common_spec.rb CHANGED
@@ -1,24 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe LinuxAdmin::Common do
4
- before do
5
- class TestClass
6
- extend LinuxAdmin::Common
7
- end
8
- end
9
-
10
- after do
11
- Object.send(:remove_const, :TestClass)
12
- end
13
-
14
- subject { TestClass }
4
+ subject { Class.new { include LinuxAdmin::Common }.new }
15
5
 
16
6
  context "#cmd" do
17
7
  it "looks up local command from id" do
18
- d = double(LinuxAdmin::Distros::Distro)
19
- d.class::COMMANDS = {:sh => '/bin/sh'}
20
- LinuxAdmin::Distros::Distro.should_receive(:local).and_return(d)
21
- subject.cmd(:sh).should == '/bin/sh'
8
+ expect(subject.cmd(:dd)).to match(/bin\/dd/)
22
9
  end
23
10
  end
24
11
 
data/spec/disk_spec.rb CHANGED
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe LinuxAdmin::Disk do
4
4
  describe "#local" do
5
5
  it "returns local disks" do
6
- Dir.should_receive(:glob).with('/dev/[vhs]d[a-z]').
6
+ Dir.should_receive(:glob).with(['/dev/[vhs]d[a-z]', '/dev/xvd[a-z]']).
7
7
  and_return(['/dev/hda', '/dev/sda'])
8
8
  disks = LinuxAdmin::Disk.local
9
9
  paths = disks.collect { |disk| disk.path }
@@ -138,13 +138,13 @@ eos
138
138
  end
139
139
 
140
140
  it "uses parted" do
141
- params = ['--script', '/dev/hda', 'mkpart', '-a opt', 'primary', 1024, 2048]
141
+ params = ['--script', '/dev/hda', 'mkpart', '-a', 'opt', 'primary', 1024, 2048]
142
142
  @disk.should_receive(:run!).with(@disk.cmd(:parted), :params => { nil => params })
143
143
  @disk.create_partition 'primary', 1024
144
144
  end
145
145
 
146
146
  it "accepts start/end params" do
147
- params = ['--script', '/dev/hda', 'mkpart', '-a opt', 'primary', "0%", "50%"]
147
+ params = ['--script', '/dev/hda', 'mkpart', '-a', 'opt', 'primary', "0%", "50%"]
148
148
  @disk.should_receive(:run!).with(@disk.cmd(:parted), :params => { nil => params })
149
149
  @disk.create_partition 'primary', "0%", "50%"
150
150
  end
data/spec/distro_spec.rb CHANGED
@@ -1,7 +1,12 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe LinuxAdmin::Distros::Distro do
4
+ let(:subject) { LinuxAdmin::Distros.local }
4
5
  describe "#local" do
6
+ before do
7
+ LinuxAdmin::Distros.unstub(:local)
8
+ end
9
+
5
10
  [['ubuntu', :ubuntu],
6
11
  ['Fedora', :fedora],
7
12
  ['red hat', :rhel],
@@ -9,45 +14,66 @@ describe LinuxAdmin::Distros::Distro do
9
14
  ['centos', :rhel]].each do |i, d|
10
15
  context "/etc/issue contains '#{i}'" do
11
16
  before(:each) do
12
- LinuxAdmin::EtcIssue.instance.should_receive(:to_s).at_least(:once).and_return(i)
13
- File.should_receive(:exists?).at_least(:once).and_return(false)
17
+ etc_issue_contains(i)
18
+ exists("/etc/fedora-release" => false, "/etc/redhat-release" => false)
14
19
  end
15
20
 
16
21
  it "returns Distros.#{d}" do
17
22
  distro = LinuxAdmin::Distros.send(d)
18
- described_class.local.should == distro
23
+ expect(subject).to eq(distro)
19
24
  end
20
25
  end
21
26
  end
22
27
 
23
28
  context "/etc/issue did not match" do
24
29
  before(:each) do
25
- LinuxAdmin::EtcIssue.instance.should_receive(:to_s).at_least(:once).and_return('')
30
+ etc_issue_contains('')
26
31
  end
27
32
 
28
33
  context "/etc/redhat-release exists" do
29
34
  it "returns Distros.rhel" do
30
- File.should_receive(:exists?).with('/etc/redhat-release').and_return(true)
31
- LinuxAdmin::Distros::Fedora.should_receive(:detected?).and_return(false)
32
- File.should_receive(:exists?).at_least(:once).and_call_original
33
- described_class.local.should == LinuxAdmin::Distros.rhel
35
+ exists("/etc/fedora-release" => false, "/etc/redhat-release" => true)
36
+ expect(subject).to eq(LinuxAdmin::Distros.rhel)
34
37
  end
35
38
  end
36
39
 
37
40
  context "/etc/fedora-release exists" do
38
41
  it "returns Distros.fedora" do
39
- File.should_receive(:exists?).with('/etc/redhat-release').and_return(false)
40
- File.should_receive(:exists?).with('/etc/fedora-release').and_return(true)
41
- File.should_receive(:exists?).at_least(:once).and_call_original
42
- described_class.local.should == LinuxAdmin::Distros.fedora
42
+ exists("/etc/fedora-release" => true, "/etc/redhat-release" => false)
43
+ expect(subject).to eq(LinuxAdmin::Distros.fedora)
43
44
  end
44
45
  end
45
46
  end
46
47
 
47
48
  it "returns Distros.generic" do
48
- LinuxAdmin::EtcIssue.instance.should_receive(:to_s).at_least(:once).and_return('')
49
- File.should_receive(:exists?).at_least(:once).and_return(false)
50
- described_class.local.should == LinuxAdmin::Distros.generic
49
+ etc_issue_contains('')
50
+ exists("/etc/fedora-release" => false, "/etc/redhat-release" => false)
51
+ expect(subject).to eq(LinuxAdmin::Distros.generic)
52
+ end
53
+ end
54
+
55
+ describe "#info" do
56
+ it "dispatches to redhat lookup mechanism" do
57
+ stub_distro(LinuxAdmin::Distros.rhel)
58
+ expect(LinuxAdmin::Rpm).to receive(:info).with('ruby')
59
+ LinuxAdmin::Distros.local.info 'ruby'
60
+ end
61
+
62
+ it "dispatches to ubuntu lookup mechanism" do
63
+ stub_distro(LinuxAdmin::Distros.ubuntu)
64
+ expect(LinuxAdmin::Deb).to receive(:info).with('ruby')
65
+ LinuxAdmin::Distros.local.info 'ruby'
66
+ end
67
+
68
+ it "dispatches to ubuntu lookup mechanism" do
69
+ stub_distro(LinuxAdmin::Distros.generic)
70
+ expect { LinuxAdmin::Distros.local.info 'ruby' }.not_to raise_error
51
71
  end
52
72
  end
73
+
74
+ private
75
+
76
+ def exists(files)
77
+ files.each_pair { |file, value| allow(File).to receive(:exists?).with(file).and_return(value) }
78
+ end
53
79
  end
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+ require 'stringio'
3
+
4
+ describe LinuxAdmin::EtcIssue do
5
+ subject { described_class.instance }
6
+ before do
7
+ # Reset the singleton so subsequent tests get a new instance
8
+ subject.refresh
9
+ end
10
+
11
+ it "should not find the phrase when the file is missing" do
12
+ expect(File).to receive(:exists?).with('/etc/issue').at_least(:once).and_return(false)
13
+ expect(subject).not_to include("phrase")
14
+ end
15
+
16
+ it "should not find phrase when the file is empty" do
17
+ etc_issue_contains("")
18
+ expect(subject).not_to include("phrase")
19
+ end
20
+
21
+ it "should not find phrase when the file has a different phrase" do
22
+ etc_issue_contains("something\nelse")
23
+ expect(subject).not_to include("phrase")
24
+ end
25
+
26
+ it "should find phrase in same case" do
27
+ etc_issue_contains("phrase")
28
+ expect(subject).to include("phrase")
29
+ end
30
+
31
+ it "should find upper phrase in file" do
32
+ etc_issue_contains("PHRASE\nother")
33
+ expect(subject).to include("phrase")
34
+ end
35
+
36
+ it "should find phrase when searching with upper" do
37
+ etc_issue_contains("other\nphrase")
38
+ expect(subject).to include("PHRASE")
39
+ end
40
+ end
@@ -2,8 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe LinuxAdmin::LogicalVolume do
4
4
  before(:each) do
5
- LinuxAdmin::Distros::Distro.stub(:local => LinuxAdmin::Distros::Test.new)
6
-
7
5
  @logical_volumes = <<eos
8
6
  /dev/vg_foobar/lv_swap:vg_foobar:3:1:-1:2:4128768:63:-1:0:-1:253:0
9
7
  /dev/vg_foobar/lv_root:vg_foobar:3:1:-1:1:19988480:305:-1:0:-1:253:1
@@ -2,8 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe LinuxAdmin::PhysicalVolume do
4
4
  before(:each) do
5
- LinuxAdmin::Distros::Distro.stub(:local => LinuxAdmin::Distros::Test.new)
6
-
7
5
  @physical_volumes = <<eos
8
6
  /dev/vda2:vg_foobar:24139776:-1:8:8:-1:32768:368:0:368:pxR32D-YkC2-PfHe-zOwb-eaGD-9Ar0-mAOl9u
9
7
  eos
data/spec/service_spec.rb CHANGED
@@ -2,10 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe LinuxAdmin::Service do
4
4
  before(:each) do
5
- # stub distro.local to return test distro for command lookup
6
- LinuxAdmin::Distros::Distro.stub(:local)
7
- .and_return(LinuxAdmin::Distros::Test.new)
8
-
9
5
  @service = LinuxAdmin::Service.new 'foo'
10
6
  end
11
7
 
data/spec/spec_helper.rb CHANGED
@@ -17,13 +17,15 @@ RSpec.configure do |config|
17
17
 
18
18
  config.before do
19
19
  Kernel.stub(:spawn).and_raise("Spawning is not permitted in specs. Please change your spec to use expectations/stubs.")
20
+ # by default, have it say it is running Red Hat linux
21
+ stub_distro
20
22
  end
21
23
 
22
24
  config.after do
23
25
  clear_caches
24
26
 
25
27
  # reset the distro, tested in various placed & used extensively
26
- LinuxAdmin::Distros::Distro.instance_variable_set(:@local, nil)
28
+ LinuxAdmin::Distros.instance_variable_set(:@local, nil)
27
29
  end
28
30
  end
29
31
 
@@ -35,6 +37,16 @@ end
35
37
 
36
38
  require 'linux_admin'
37
39
 
40
+ def etc_issue_contains(contents)
41
+ LinuxAdmin::EtcIssue.instance.send(:refresh)
42
+ allow(File).to receive(:exists?).with('/etc/issue').at_least(:once).and_return(true)
43
+ allow(File).to receive(:read).with('/etc/issue').at_least(:once).and_return(contents)
44
+ end
45
+
46
+ def stub_distro(distro = LinuxAdmin::Distros.rhel)
47
+ # simply alias test distro to redhat distro for time being
48
+ LinuxAdmin::Distros.stub(:local => distro)
49
+ end
38
50
 
39
51
  def data_file_path(to)
40
52
  File.expand_path(to, File.join(File.dirname(__FILE__), "data"))
@@ -47,10 +59,3 @@ end
47
59
  def clear_caches
48
60
  LinuxAdmin::RegistrationSystem.instance_variable_set(:@registration_type, nil)
49
61
  end
50
-
51
- class LinuxAdmin
52
- module Distros
53
- # simply alias test distro to redhat distro for time being
54
- Distros::Test = Distros::RedHat
55
- end
56
- end
@@ -2,8 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe LinuxAdmin::VolumeGroup do
4
4
  before(:each) do
5
- LinuxAdmin::Distros::Distro.stub(:local => LinuxAdmin::Distros::Test.new)
6
-
7
5
  @groups = <<eos
8
6
  vg_foobar:r/w:772:-1:0:2:2:-1:0:1:1:12058624:32768:368:368:0:tILZUF-IspH-H90I-pT5j-vVFl-b76L-zWx3CW
9
7
  eos
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: linux_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.9.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,10 +10,11 @@ authors:
10
10
  - Mo Morsi
11
11
  - Joe Rafaniello
12
12
  - Keenan Brock
13
+ - Thomas Wiest
13
14
  autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
- date: 2014-03-21 00:00:00.000000000 Z
17
+ date: 2014-07-10 00:00:00.000000000 Z
17
18
  dependencies:
18
19
  - !ruby/object:Gem::Dependency
19
20
  name: bundler
@@ -134,7 +135,7 @@ dependencies:
134
135
  requirements:
135
136
  - - ~>
136
137
  - !ruby/object:Gem::Version
137
- version: 1.1.0
138
+ version: '1.2'
138
139
  type: :runtime
139
140
  prerelease: false
140
141
  version_requirements: !ruby/object:Gem::Requirement
@@ -142,7 +143,7 @@ dependencies:
142
143
  requirements:
143
144
  - - ~>
144
145
  - !ruby/object:Gem::Version
145
- version: 1.1.0
146
+ version: '1.2'
146
147
  - !ruby/object:Gem::Dependency
147
148
  name: nokogiri
148
149
  requirement: !ruby/object:Gem::Requirement
@@ -174,6 +175,7 @@ email:
174
175
  - mmorsi@redhat.com
175
176
  - jrafanie@redhat.com
176
177
  - kbrock@redhat.com
178
+ - twiest@redhat.com
177
179
  executables: []
178
180
  extensions: []
179
181
  extra_rdoc_files: []
@@ -189,7 +191,6 @@ files:
189
191
  - lib/linux_admin/hosts.rb
190
192
  - lib/linux_admin/logical_volume.rb
191
193
  - lib/linux_admin/mountable.rb
192
- - lib/linux_admin/package.rb
193
194
  - lib/linux_admin/partition.rb
194
195
  - lib/linux_admin/physical_volume.rb
195
196
  - lib/linux_admin/registration_system.rb
@@ -224,12 +225,12 @@ files:
224
225
  - spec/deb_spec.rb
225
226
  - spec/disk_spec.rb
226
227
  - spec/distro_spec.rb
228
+ - spec/etc_issue_spec.rb
227
229
  - spec/fstab_spec.rb
228
230
  - spec/hosts_spec.rb
229
231
  - spec/linux_admin_spec.rb
230
232
  - spec/logical_volume_spec.rb
231
233
  - spec/mountable_spec.rb
232
- - spec/package_spec.rb
233
234
  - spec/partition_spec.rb
234
235
  - spec/physical_volume_spec.rb
235
236
  - spec/registration_system_spec.rb
@@ -262,7 +263,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
262
263
  version: '0'
263
264
  requirements: []
264
265
  rubyforge_project:
265
- rubygems_version: 1.8.23
266
+ rubygems_version: 1.8.23.2
266
267
  signing_key:
267
268
  specification_version: 3
268
269
  summary: LinuxAdmin is a module to simplify management of linux systems.
@@ -286,12 +287,12 @@ test_files:
286
287
  - spec/deb_spec.rb
287
288
  - spec/disk_spec.rb
288
289
  - spec/distro_spec.rb
290
+ - spec/etc_issue_spec.rb
289
291
  - spec/fstab_spec.rb
290
292
  - spec/hosts_spec.rb
291
293
  - spec/linux_admin_spec.rb
292
294
  - spec/logical_volume_spec.rb
293
295
  - spec/mountable_spec.rb
294
- - spec/package_spec.rb
295
296
  - spec/partition_spec.rb
296
297
  - spec/physical_volume_spec.rb
297
298
  - spec/registration_system_spec.rb
@@ -1,18 +0,0 @@
1
- # LinuxAdmin Abstract Package Representation
2
- #
3
- # Copyright (C) 2013 Red Hat Inc.
4
- # Licensed under the MIT License
5
-
6
- class LinuxAdmin
7
- class Package < LinuxAdmin
8
- def self.info(pkg)
9
- if Distros::Distro.local == Distros.redhat
10
- return Rpm.info(pkg)
11
- elsif Distros::Distro.local == Distros.ubuntu
12
- return Deb.info(pkg)
13
- end
14
-
15
- nil
16
- end
17
- end
18
- end
data/spec/package_spec.rb DELETED
@@ -1,17 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe LinuxAdmin::Package do
4
- describe "#info" do
5
- it "dispatches to redhat lookup mechanism" do
6
- LinuxAdmin::Distros::Distro.should_receive(:local).and_return(LinuxAdmin::Distros.redhat)
7
- LinuxAdmin::Rpm.should_receive(:info).with('ruby')
8
- described_class.info 'ruby'
9
- end
10
-
11
- it "dispatches to ubuntu lookup mechanism" do
12
- LinuxAdmin::Distros::Distro.should_receive(:local).twice.and_return(LinuxAdmin::Distros.ubuntu)
13
- LinuxAdmin::Deb.should_receive(:info).with('ruby')
14
- described_class.info 'ruby'
15
- end
16
- end
17
- end