sys-admin 1.8.1-universal-mingw32 → 1.8.2-universal-mingw32
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +4 -3
- data/CHANGES.md +7 -0
- data/MANIFEST.md +4 -3
- data/README.md +5 -0
- data/Rakefile +5 -2
- data/lib/bsd/sys/admin.rb +28 -24
- data/lib/darwin/sys/admin.rb +13 -9
- data/lib/linux/sys/admin.rb +18 -14
- data/lib/sunos/sys/admin.rb +16 -12
- data/lib/sys/admin/common.rb +5 -4
- data/lib/sys/admin/custom.rb +6 -3
- data/lib/sys/admin.rb +7 -1
- data/lib/sys-admin.rb +2 -0
- data/lib/unix/sys/admin.rb +6 -6
- data/lib/windows/sys/admin.rb +77 -81
- data/spec/spec_helper.rb +10 -1
- data/spec/sys_admin_shared.rb +15 -0
- data/spec/sys_admin_unix_spec.rb +54 -52
- data/spec/sys_admin_windows_spec.rb +79 -86
- data/sys-admin.gemspec +11 -7
- data.tar.gz.sig +0 -0
- metadata +34 -4
- metadata.gz.sig +0 -0
- data/spec/sys_admin_version_spec.rb +0 -11
@@ -1,9 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
###############################################################################
|
2
4
|
# sys_admin_windows_spec.rb
|
3
5
|
#
|
4
6
|
# Test suite for the MS Windows version of sys-admin. Note that some of the
|
5
7
|
# are ordered. That way I can add test users before configuring or deleting
|
6
|
-
# them.
|
8
|
+
# them. These tests require admin privileges, otherwise they are skipped.
|
7
9
|
#
|
8
10
|
# It is assumed that these specs will be run via the 'rake spec' task.
|
9
11
|
###############################################################################
|
@@ -11,7 +13,6 @@ require 'spec_helper'
|
|
11
13
|
|
12
14
|
RSpec.describe Sys::Admin, :windows do
|
13
15
|
let(:host) { Socket.gethostname }
|
14
|
-
let(:elevated) { Win32::Security.elevated_security? }
|
15
16
|
|
16
17
|
before do
|
17
18
|
@user = Sys::Admin::User.new
|
@@ -22,178 +23,170 @@ RSpec.describe Sys::Admin, :windows do
|
|
22
23
|
@group_id = 546 # best guess, may fail
|
23
24
|
end
|
24
25
|
|
25
|
-
describe
|
26
|
+
describe 'add, configure and delete user', :order => :defined, :requires_elevated => true do
|
26
27
|
before(:all) do
|
27
|
-
@local_user =
|
28
|
+
@local_user = 'foo'
|
28
29
|
end
|
29
30
|
|
30
|
-
example
|
31
|
-
skip "requires elevated privileges" unless elevated
|
31
|
+
example 'add user' do
|
32
32
|
expect(described_class).to respond_to(:add_user)
|
33
33
|
expect{ described_class.add_user(:name => @local_user, :password => 'a1b2c3D4') }.not_to raise_error
|
34
34
|
expect{ described_class.get_user(@local_user) }.not_to raise_error
|
35
35
|
end
|
36
36
|
|
37
|
-
example
|
38
|
-
skip "requires elevated privileges" unless elevated
|
37
|
+
example 'configure user' do
|
39
38
|
expect(described_class).to respond_to(:configure_user)
|
40
|
-
expect
|
39
|
+
expect do
|
41
40
|
described_class.configure_user(
|
42
41
|
:name => @local_user,
|
43
42
|
:description => 'delete me',
|
44
43
|
:fullname => 'fubar',
|
45
44
|
:password => 'd1c2b3A4'
|
46
45
|
)
|
47
|
-
|
46
|
+
end.not_to raise_error
|
48
47
|
expect(described_class.get_user(@local_user).description).to eq('delete me')
|
49
48
|
end
|
50
49
|
|
51
|
-
example
|
52
|
-
skip "requires elevated privileges" unless elevated
|
50
|
+
example 'delete user' do
|
53
51
|
expect(described_class).to respond_to(:delete_user)
|
54
52
|
expect{ described_class.delete_user(@local_user) }.not_to raise_error
|
55
53
|
expect{ described_class.get_user(@local_user) }.to raise_error(Sys::Admin::Error)
|
56
54
|
end
|
57
55
|
end
|
58
56
|
|
59
|
-
describe
|
57
|
+
describe 'add, configure and delete group', :order => :defined, :requires_elevated => true do
|
60
58
|
before(:all) do
|
61
|
-
@local_user =
|
62
|
-
@local_group =
|
63
|
-
described_class.add_user(:name => @local_user)
|
59
|
+
@local_user = 'foo'
|
60
|
+
@local_group = 'bar'
|
61
|
+
described_class.add_user(:name => @local_user) if Win32::Security.elevated_security?
|
64
62
|
end
|
65
63
|
|
66
64
|
after(:all) do
|
67
|
-
described_class.delete_user(@local_user)
|
65
|
+
described_class.delete_user(@local_user) if Win32::Security.elevated_security?
|
68
66
|
end
|
69
67
|
|
70
|
-
example
|
71
|
-
skip "requires elevated privileges" unless elevated
|
68
|
+
example 'add group' do
|
72
69
|
expect(described_class).to respond_to(:add_group)
|
73
70
|
expect{ described_class.add_group(:name => @local_group) }.not_to raise_error
|
74
71
|
end
|
75
72
|
|
76
|
-
example
|
77
|
-
skip "requires elevated privileges" unless elevated
|
73
|
+
example 'configure group' do
|
78
74
|
expect(described_class).to respond_to(:configure_group)
|
79
75
|
expect{ described_class.configure_group(:name => @local_group, :description => 'delete me') }.not_to raise_error
|
80
76
|
end
|
81
77
|
|
82
|
-
example
|
83
|
-
skip "requires elevated privileges" unless elevated
|
78
|
+
example 'add group member' do
|
84
79
|
expect(described_class).to respond_to(:add_group_member)
|
85
80
|
expect{ described_class.add_group_member(@local_user, @local_group) }.not_to raise_error
|
86
81
|
expect(described_class.get_group(@local_group, :localaccount => true).members).to include(@local_user)
|
87
82
|
end
|
88
83
|
|
89
|
-
example
|
90
|
-
skip "requires elevated privileges" unless elevated
|
84
|
+
example 'remove group member' do
|
91
85
|
expect(described_class).to respond_to(:remove_group_member)
|
92
86
|
expect{ described_class.remove_group_member(@local_user, @local_group) }.not_to raise_error
|
93
87
|
end
|
94
88
|
|
95
|
-
example
|
96
|
-
skip "requires elevated privileges" unless elevated
|
89
|
+
example 'delete group' do
|
97
90
|
expect(described_class).to respond_to(:delete_group)
|
98
91
|
expect{ described_class.delete_group(@local_group) }.not_to raise_error
|
99
92
|
end
|
100
93
|
end
|
101
94
|
|
102
|
-
context
|
103
|
-
describe
|
104
|
-
example
|
95
|
+
context 'singleton methods' do
|
96
|
+
describe 'get_login' do
|
97
|
+
example 'get_login basic functionality' do
|
105
98
|
expect(described_class).to respond_to(:get_login)
|
106
99
|
expect{ described_class.get_login }.not_to raise_error
|
107
100
|
end
|
108
101
|
|
109
|
-
example
|
110
|
-
expect(
|
102
|
+
example 'get_login returns a string' do
|
103
|
+
expect(described_class.get_login).to be_kind_of(String)
|
111
104
|
expect(described_class.get_login.size).to be > 0
|
112
105
|
end
|
113
106
|
|
114
|
-
example
|
107
|
+
example 'get_login does not accept any arguments' do
|
115
108
|
expect{ described_class.get_login('foo') }.to raise_error(ArgumentError)
|
116
109
|
end
|
117
110
|
end
|
118
111
|
|
119
|
-
describe
|
120
|
-
example
|
112
|
+
describe 'get_user' do
|
113
|
+
example 'get_user basic functionality' do
|
121
114
|
expect(described_class).to respond_to(:get_user)
|
122
115
|
end
|
123
116
|
|
124
|
-
example
|
117
|
+
example 'get_user with string argument works as expected' do
|
125
118
|
expect{ described_class.get_user(@user_name, :localaccount => true) }.not_to raise_error
|
126
|
-
expect(
|
119
|
+
expect(described_class.get_user(@user_name, :localaccount => true)).to be_kind_of(Sys::Admin::User)
|
127
120
|
end
|
128
121
|
|
129
|
-
example
|
122
|
+
example 'get user with integer argument works as expected' do
|
130
123
|
expect{ described_class.get_user(@user_id, :localaccount => true) }.not_to raise_error
|
131
|
-
expect(
|
124
|
+
expect(described_class.get_user(@user_id, :localaccount => true)).to be_kind_of(Sys::Admin::User)
|
132
125
|
end
|
133
126
|
|
134
|
-
example
|
127
|
+
example 'get_user method by string accepts a hash of options' do
|
135
128
|
options = {:host => host, :localaccount => true}
|
136
129
|
expect{ described_class.get_user(@user_name, options) }.not_to raise_error
|
137
|
-
expect(
|
130
|
+
expect(described_class.get_user(@user_name, options)).to be_kind_of(Sys::Admin::User)
|
138
131
|
end
|
139
132
|
|
140
|
-
example
|
133
|
+
example 'get_user method by uid accepts a hash of options' do
|
141
134
|
options = {:host => host, :localaccount => true}
|
142
135
|
expect{ described_class.get_user(@user_id, options) }.not_to raise_error
|
143
|
-
expect(
|
136
|
+
expect(described_class.get_user(@user_id, options)).to be_kind_of(Sys::Admin::User)
|
144
137
|
end
|
145
138
|
|
146
|
-
example
|
139
|
+
example 'get_user method requires an argument' do
|
147
140
|
expect{ described_class.get_user }.to raise_error(ArgumentError)
|
148
141
|
end
|
149
142
|
end
|
150
143
|
|
151
|
-
describe
|
152
|
-
example
|
144
|
+
describe 'users' do
|
145
|
+
example 'users method basic functionality' do
|
153
146
|
expect(described_class).to respond_to(:users)
|
154
147
|
expect{ described_class.users(:localaccount => true) }.not_to raise_error
|
155
148
|
end
|
156
149
|
|
157
|
-
example
|
150
|
+
example 'users method returns an array of User objects' do
|
158
151
|
users = described_class.users(:localaccount => true)
|
159
152
|
expect(users).to be_kind_of(Array)
|
160
153
|
expect(users).to all(be_kind_of(Sys::Admin::User))
|
161
154
|
end
|
162
155
|
end
|
163
156
|
|
164
|
-
describe
|
165
|
-
example
|
157
|
+
describe 'get_group' do
|
158
|
+
example 'get_group basic functionality' do
|
166
159
|
expect(described_class).to respond_to(:get_group)
|
167
160
|
end
|
168
161
|
|
169
|
-
example
|
162
|
+
example 'get_group method returns expected results with a string argument' do
|
170
163
|
expect{ described_class.get_group(@group_name, :localaccount => true) }.not_to raise_error
|
171
164
|
expect(described_class.get_group(@group_name, :localaccount => true)).to be_kind_of(Sys::Admin::Group)
|
172
165
|
end
|
173
166
|
|
174
|
-
example
|
167
|
+
example 'get_group method returns expected results with an integer argument' do
|
175
168
|
expect{ described_class.get_group(@group_id, :localaccount => true) }.not_to raise_error
|
176
169
|
expect(described_class.get_group(@group_id, :localaccount => true)).to be_kind_of(Sys::Admin::Group)
|
177
170
|
end
|
178
171
|
|
179
|
-
example
|
172
|
+
example 'get_group method accepts a hash of options' do
|
180
173
|
options = {:host => host, :localaccount => true}
|
181
174
|
expect{ described_class.get_group(@group_name, options) }.not_to raise_error
|
182
175
|
expect(described_class.get_group(@group_name, options)).to be_kind_of(Sys::Admin::Group)
|
183
176
|
end
|
184
177
|
|
185
|
-
example
|
178
|
+
example 'get_group method requires an argument' do
|
186
179
|
expect{ described_class.get_group }.to raise_error(ArgumentError)
|
187
180
|
end
|
188
181
|
end
|
189
182
|
|
190
|
-
describe
|
191
|
-
example
|
183
|
+
describe 'groups' do
|
184
|
+
example 'groups method basic functionality' do
|
192
185
|
expect(described_class).to respond_to(:groups)
|
193
186
|
expect{ described_class.groups(:localaccount => true) }.not_to raise_error
|
194
187
|
end
|
195
188
|
|
196
|
-
example
|
189
|
+
example 'groups method returns an array of Group objects' do
|
197
190
|
groups = described_class.groups(:localaccount => true)
|
198
191
|
expect(groups).to be_kind_of(Array)
|
199
192
|
expect(groups).to all(be_kind_of(Sys::Admin::Group))
|
@@ -201,145 +194,145 @@ RSpec.describe Sys::Admin, :windows do
|
|
201
194
|
end
|
202
195
|
end
|
203
196
|
|
204
|
-
context
|
205
|
-
example
|
197
|
+
context 'User class' do
|
198
|
+
example 'caption accessor for User class' do
|
206
199
|
expect(@user).to respond_to(:caption)
|
207
200
|
expect(@user).to respond_to(:caption=)
|
208
201
|
end
|
209
202
|
|
210
|
-
example
|
203
|
+
example 'description accessor for User class' do
|
211
204
|
expect(@user).to respond_to(:description)
|
212
205
|
expect(@user).to respond_to(:description=)
|
213
206
|
end
|
214
207
|
|
215
|
-
example
|
208
|
+
example 'domain accessor for User class' do
|
216
209
|
expect(@user).to respond_to(:domain)
|
217
210
|
expect(@user).to respond_to(:domain=)
|
218
211
|
end
|
219
212
|
|
220
|
-
example
|
213
|
+
example 'password accessor for User class' do
|
221
214
|
expect(@user).to respond_to(:password)
|
222
215
|
expect(@user).to respond_to(:password=)
|
223
216
|
end
|
224
217
|
|
225
|
-
example
|
218
|
+
example 'full_name accessor for User class' do
|
226
219
|
expect(@user).to respond_to(:full_name)
|
227
220
|
expect(@user).to respond_to(:full_name=)
|
228
221
|
end
|
229
222
|
|
230
|
-
example
|
223
|
+
example 'name accessor for User class' do
|
231
224
|
expect(@user).to respond_to(:name)
|
232
225
|
expect(@user).to respond_to(:name=)
|
233
226
|
end
|
234
227
|
|
235
|
-
example
|
228
|
+
example 'sid accessor for User class' do
|
236
229
|
expect(@user).to respond_to(:sid)
|
237
230
|
expect(@user).to respond_to(:sid=)
|
238
231
|
end
|
239
232
|
|
240
|
-
example
|
233
|
+
example 'status accessor for User class' do
|
241
234
|
expect(@user).to respond_to(:status)
|
242
235
|
expect(@user).to respond_to(:status=)
|
243
236
|
end
|
244
237
|
|
245
|
-
example
|
238
|
+
example 'disabled accessor for User class' do
|
246
239
|
expect(@user).to respond_to(:disabled?)
|
247
240
|
expect(@user).to respond_to(:disabled=)
|
248
241
|
end
|
249
242
|
|
250
|
-
example
|
243
|
+
example 'local accessor for User class' do
|
251
244
|
expect(@user).to respond_to(:local?)
|
252
245
|
expect(@user).to respond_to(:local=)
|
253
246
|
end
|
254
247
|
|
255
|
-
example
|
248
|
+
example 'lockout accessor for User class' do
|
256
249
|
expect(@user).to respond_to(:lockout?)
|
257
250
|
expect(@user).to respond_to(:lockout=)
|
258
251
|
end
|
259
252
|
|
260
|
-
example
|
253
|
+
example 'password_changeable accessor for User class' do
|
261
254
|
expect(@user).to respond_to(:password_changeable?)
|
262
255
|
expect(@user).to respond_to(:password_changeable=)
|
263
256
|
end
|
264
257
|
|
265
|
-
example
|
258
|
+
example 'password_expires accessor for User class' do
|
266
259
|
expect(@user).to respond_to(:password_expires?)
|
267
260
|
expect(@user).to respond_to(:password_expires=)
|
268
261
|
end
|
269
262
|
|
270
|
-
example
|
263
|
+
example 'password_required accessor for User class' do
|
271
264
|
expect(@user).to respond_to(:password_required?)
|
272
265
|
expect(@user).to respond_to(:password_required=)
|
273
266
|
end
|
274
267
|
|
275
|
-
example
|
268
|
+
example 'account_type accessor for User class' do
|
276
269
|
expect(@user).to respond_to(:account_type)
|
277
270
|
expect(@user).to respond_to(:account_type=)
|
278
271
|
end
|
279
272
|
|
280
|
-
example
|
273
|
+
example 'uid accessor for User class' do
|
281
274
|
expect(@user).to respond_to(:uid)
|
282
275
|
expect(@user).to respond_to(:uid=)
|
283
276
|
end
|
284
277
|
|
285
|
-
example
|
278
|
+
example 'dir accessor for User class' do
|
286
279
|
expect(@user).to respond_to(:dir)
|
287
280
|
expect(@user).to respond_to(:dir=)
|
288
281
|
end
|
289
282
|
|
290
|
-
example
|
283
|
+
example 'dir method returns either a string or nil' do
|
291
284
|
expect{ @user = described_class.get_user(@user_name, :localaccount => true) }.not_to raise_error
|
292
285
|
expect(@user.dir).to be_kind_of(String).or be_kind_of(NilClass)
|
293
286
|
end
|
294
287
|
end
|
295
288
|
|
296
|
-
context
|
297
|
-
example
|
289
|
+
context 'Group class' do
|
290
|
+
example 'caption accessor for Group class' do
|
298
291
|
expect(@group).to respond_to(:caption)
|
299
292
|
expect(@group).to respond_to(:caption=)
|
300
293
|
end
|
301
294
|
|
302
|
-
example
|
295
|
+
example 'description accessor for Group class' do
|
303
296
|
expect(@group).to respond_to(:description)
|
304
297
|
expect(@group).to respond_to(:description=)
|
305
298
|
end
|
306
299
|
|
307
|
-
example
|
300
|
+
example 'domain accessor for Group class' do
|
308
301
|
expect(@group).to respond_to(:domain)
|
309
302
|
expect(@group).to respond_to(:domain=)
|
310
303
|
end
|
311
304
|
|
312
|
-
example
|
305
|
+
example 'install_date accessor for Group class' do
|
313
306
|
expect(@group).to respond_to(:install_date)
|
314
307
|
expect(@group).to respond_to(:install_date=)
|
315
308
|
end
|
316
309
|
|
317
|
-
example
|
310
|
+
example 'name accessor for Group class' do
|
318
311
|
expect(@group).to respond_to(:name)
|
319
312
|
expect(@group).to respond_to(:name)
|
320
313
|
end
|
321
314
|
|
322
|
-
example
|
315
|
+
example 'gid accessor for Group class' do
|
323
316
|
expect(@group).to respond_to(:gid)
|
324
317
|
expect(@group).to respond_to(:gid=)
|
325
318
|
end
|
326
319
|
|
327
|
-
example
|
320
|
+
example 'status accessor for Group class' do
|
328
321
|
expect(@group).to respond_to(:status)
|
329
322
|
expect(@group).to respond_to(:status=)
|
330
323
|
end
|
331
324
|
|
332
|
-
example
|
325
|
+
example 'sid accessor for Group class' do
|
333
326
|
expect(@group).to respond_to(:sid)
|
334
327
|
expect(@group).to respond_to(:sid=)
|
335
328
|
end
|
336
329
|
|
337
|
-
example
|
330
|
+
example 'sid_type accessor for Group class' do
|
338
331
|
expect(@group).to respond_to(:sid_type)
|
339
332
|
expect(@group).to respond_to(:sid_type=)
|
340
333
|
end
|
341
334
|
|
342
|
-
example
|
335
|
+
example 'local accessor for Group class' do
|
343
336
|
expect(@group).to respond_to(:local?)
|
344
337
|
expect(@group).to respond_to(:local=)
|
345
338
|
end
|
data/sys-admin.gemspec
CHANGED
@@ -3,7 +3,7 @@ require 'rubygems'
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |spec|
|
5
5
|
spec.name = 'sys-admin'
|
6
|
-
spec.version = '1.8.
|
6
|
+
spec.version = '1.8.2'
|
7
7
|
spec.author = 'Daniel J. Berger'
|
8
8
|
spec.license = 'Apache-2.0'
|
9
9
|
spec.email = 'djberg96@gmail.com'
|
@@ -24,14 +24,18 @@ Gem::Specification.new do |spec|
|
|
24
24
|
|
25
25
|
spec.add_development_dependency('rspec', '~> 3.9')
|
26
26
|
spec.add_development_dependency('rake')
|
27
|
+
spec.add_development_dependency('rubocop')
|
28
|
+
spec.add_development_dependency('rubocop-rspec')
|
27
29
|
|
28
30
|
spec.metadata = {
|
29
|
-
'homepage_uri'
|
30
|
-
'bug_tracker_uri'
|
31
|
-
'changelog_uri'
|
32
|
-
'documentation_uri'
|
33
|
-
'source_code_uri'
|
34
|
-
'wiki_uri'
|
31
|
+
'homepage_uri' => 'https://github.com/djberg96/sys-admin',
|
32
|
+
'bug_tracker_uri' => 'https://github.com/djberg96/sys-admin/issues',
|
33
|
+
'changelog_uri' => 'https://github.com/djberg96/sys-admin/blob/main/CHANGES.md',
|
34
|
+
'documentation_uri' => 'https://github.com/djberg96/sys-admin/wiki',
|
35
|
+
'source_code_uri' => 'https://github.com/djberg96/sys-admin',
|
36
|
+
'wiki_uri' => 'https://github.com/djberg96/sys-admin/wiki',
|
37
|
+
'rubygems_mfa_required' => 'true',
|
38
|
+
'github_repo' => 'https://github.com/djberg96/sys-admin'
|
35
39
|
}
|
36
40
|
|
37
41
|
spec.description = <<-EOF
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sys-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.2
|
5
5
|
platform: universal-mingw32
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
36
|
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2023-04-09 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: ffi
|
@@ -93,6 +93,34 @@ dependencies:
|
|
93
93
|
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: '0'
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: rubocop
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
type: :development
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rubocop-rspec
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
117
|
+
type: :development
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
96
124
|
description: |2
|
97
125
|
The sys-admin library is a unified, cross platform replacement for the
|
98
126
|
'etc' library that ships as part of the Ruby standard library. It
|
@@ -126,8 +154,8 @@ files:
|
|
126
154
|
- lib/unix/sys/admin.rb
|
127
155
|
- lib/windows/sys/admin.rb
|
128
156
|
- spec/spec_helper.rb
|
157
|
+
- spec/sys_admin_shared.rb
|
129
158
|
- spec/sys_admin_unix_spec.rb
|
130
|
-
- spec/sys_admin_version_spec.rb
|
131
159
|
- spec/sys_admin_windows_spec.rb
|
132
160
|
- sys-admin.gemspec
|
133
161
|
homepage: http://www.github.com/djberg96/sys-admin
|
@@ -140,6 +168,8 @@ metadata:
|
|
140
168
|
documentation_uri: https://github.com/djberg96/sys-admin/wiki
|
141
169
|
source_code_uri: https://github.com/djberg96/sys-admin
|
142
170
|
wiki_uri: https://github.com/djberg96/sys-admin/wiki
|
171
|
+
rubygems_mfa_required: 'true'
|
172
|
+
github_repo: https://github.com/djberg96/sys-admin
|
143
173
|
post_install_message:
|
144
174
|
rdoc_options: []
|
145
175
|
require_paths:
|
@@ -161,6 +191,6 @@ specification_version: 4
|
|
161
191
|
summary: A unified, cross platform replacement for the "etc" library.
|
162
192
|
test_files:
|
163
193
|
- spec/spec_helper.rb
|
194
|
+
- spec/sys_admin_shared.rb
|
164
195
|
- spec/sys_admin_unix_spec.rb
|
165
|
-
- spec/sys_admin_version_spec.rb
|
166
196
|
- spec/sys_admin_windows_spec.rb
|
metadata.gz.sig
CHANGED
Binary file
|
@@ -1,11 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
RSpec.describe Sys::Admin do
|
4
|
-
example "version is set to expected value" do
|
5
|
-
expect(described_class::VERSION).to eq('1.8.1')
|
6
|
-
end
|
7
|
-
|
8
|
-
example "version constant is frozen" do
|
9
|
-
expect(described_class::VERSION).to be_frozen
|
10
|
-
end
|
11
|
-
end
|