linux_admin 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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