sys-admin 1.8.3-universal-mingw32 → 1.8.4-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3a9114756676fa5db9d9b64c90faf8a95210ce70963da3e497c6911c6d4476d
4
- data.tar.gz: 499b4f25b5412aec43fddb603d0d55de967ed7873ff55f332a67854041037d71
3
+ metadata.gz: 30ad7b45ca84c45f1f2983b29100ae03b0334d72de8704a7d6c172a9fef38908
4
+ data.tar.gz: 1eceedd197d86d60ad7eda136873dbf2e3c1140d44b9dfd80ba68b6357cc3cd8
5
5
  SHA512:
6
- metadata.gz: f65bb12071960dd2fa940a379965bdad5cc5552e67db4c79a61be77394078cf867367b1c17152e67b470ea6b3da6d93e26b4a179f059b22bc8db2b1b509cfe2b
7
- data.tar.gz: 1e8a54333ab37374d4f6f6bbd675d5fe5bb91b15d5600d980e4a74e7215e78cf7b2658e4f0232e52128fe6082a1b1ffbeb1a03ff6598746aa6555fb48259560c
6
+ metadata.gz: 676de3cf5b83c9fff2c7afa9334b53ca4c4ef0b07f867272b78ce8c329834e1a02d6df01e9dffe08ef4080c98dd0c5847f799b77ebaaef0239b4d70e8cc66191
7
+ data.tar.gz: 129cea70f8a2fb1da9bb25586e055d3ac700adada8ade4733605fb284e1d848a932f542dd7933ca361f5c1b96fd2af5ba316efbef69d81cbfdb8f1137bfd6f40
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGES.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 1.8.4 - 12-Jun-2024
2
+ * Fixes for DragonFly BSD support.
3
+
1
4
  ## 1.8.3 - 20-Apr-2024
2
5
  * Fixed up the get_group method on most platforms. Previously it was allocating
3
6
  slightly more memory than it needed (wrong struct, oops). In addition, the
data/Rakefile CHANGED
@@ -31,7 +31,7 @@ RSpec::Core::RakeTask.new(:spec) do |t|
31
31
  t.rspec_opts = '-Ilib/linux'
32
32
  when /sunos|solaris/i
33
33
  t.rspec_opts = '-Ilib/sunos'
34
- when /bsd/i
34
+ when /bsd|dragonfly/i
35
35
  t.rspec_opts = '-Ilib/bsd'
36
36
  when /windows|win32|mingw|cygwin|dos/i
37
37
  t.rspec_opts = '-Ilib/windows'
@@ -42,4 +42,9 @@ end
42
42
 
43
43
  RuboCop::RakeTask.new
44
44
 
45
+ # Clean up afterwards
46
+ Rake::Task[:spec].enhance do
47
+ Rake::Task[:clean].invoke
48
+ end
49
+
45
50
  task :default => :spec
data/lib/bsd/sys/admin.rb CHANGED
@@ -43,7 +43,7 @@ module Sys
43
43
  pw_expire time_t
44
44
  ]
45
45
 
46
- if RbConfig::CONFIG['host_os'] =~ /freebsd/i
46
+ if RbConfig::CONFIG['host_os'] =~ /freebsd|dragonfly/i
47
47
  fields.push(:pw_fields, :int)
48
48
  end
49
49
 
@@ -144,11 +144,8 @@ module Sys
144
144
  end
145
145
 
146
146
  if pbuf.null?
147
- if val != 0
148
- raise SystemCallError.new(fun, val)
149
- else
150
- raise Error, "group '#{gid}' not found"
151
- end
147
+ raise SystemCallError.new(fun, val) if val != 0
148
+ raise Error, "group '#{gid}' not found"
152
149
  end
153
150
  rescue Errno::ERANGE
154
151
  size += 1024
@@ -138,11 +138,8 @@ module Sys
138
138
  end
139
139
 
140
140
  if pbuf.null?
141
- if val != 0
142
- raise SystemCallError.new(fun, val)
143
- else
144
- raise Error, "group '#{gid}' not found"
145
- end
141
+ raise SystemCallError.new(fun, val) if val != 0
142
+ raise Error, "group '#{gid}' not found"
146
143
  end
147
144
  rescue Errno::ERANGE
148
145
  size += 1024
@@ -133,11 +133,8 @@ module Sys
133
133
  end
134
134
 
135
135
  if pbuf.null?
136
- if val != 0
137
- raise SystemCallError.new(fun, val)
138
- else
139
- raise Error, "group '#{gid}' not found"
140
- end
136
+ raise SystemCallError.new(fun, val) if val != 0
137
+ raise Error, "group '#{gid}' not found"
141
138
  end
142
139
  rescue Errno::ERANGE # Large groups
143
140
  size += 1024
data/lib/sys/admin.rb CHANGED
@@ -5,7 +5,7 @@ module Sys
5
5
  # The Admin class provides a unified, cross platform replacement for the Etc module.
6
6
  class Admin
7
7
  # The version of the sys-admin library.
8
- VERSION = '1.8.3'
8
+ VERSION = '1.8.4'
9
9
 
10
10
  private_class_method :new
11
11
  end
@@ -23,7 +23,7 @@ case RbConfig::CONFIG['host_os']
23
23
  require 'windows/sys/admin'
24
24
  when /darwin|mach/i
25
25
  require 'darwin/sys/admin'
26
- when /bsd/i
26
+ when /bsd|dragonfly/i
27
27
  require 'bsd/sys/admin'
28
28
  else
29
29
  require 'unix/sys/admin'
@@ -9,6 +9,7 @@ require 'sys/admin/common'
9
9
  module Sys
10
10
  # The Admin class provides a unified, cross platform replacement for the Etc module.
11
11
  class Admin
12
+ # Private wrapper class for a struct passwd.
12
13
  class PasswdStruct < FFI::Struct
13
14
  layout(
14
15
  :pw_name, :string,
@@ -23,6 +24,7 @@ module Sys
23
24
 
24
25
  private_constant :PasswdStruct
25
26
 
27
+ # Private wrapper class for a struct group.
26
28
  class GroupStruct < FFI::Struct
27
29
  layout(
28
30
  :gr_name, :string,
data/spec/spec_helper.rb CHANGED
@@ -15,7 +15,7 @@ RSpec.configure do |config|
15
15
 
16
16
  config.filter_run_excluding(:unix)
17
17
 
18
- config.before(:each, :requires_elevated => true) do
18
+ config.before(:each, :requires_elevated) do
19
19
  skip 'skipped unless administrator privileges' unless Win32::Security.elevated_security?
20
20
  end
21
21
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  RSpec.shared_examples Sys::Admin do
4
4
  example 'version is set to expected value' do
5
- expect(described_class::VERSION).to eq('1.8.3')
5
+ expect(described_class::VERSION).to eq('1.8.4')
6
6
  end
7
7
 
8
8
  example 'version constant is frozen' do
@@ -22,7 +22,7 @@ RSpec.describe Sys::Admin, :unix do
22
22
  end
23
23
 
24
24
  example 'get_login returns a string' do
25
- expect(described_class.get_login).to be_kind_of(String)
25
+ expect(described_class.get_login).to be_a(String)
26
26
  expect(described_class.get_login.length).to be > 0
27
27
  end
28
28
  end
@@ -35,11 +35,11 @@ RSpec.describe Sys::Admin, :unix do
35
35
  end
36
36
 
37
37
  example 'get_user with a string argument works as expected' do
38
- expect(described_class.get_user(user)).to be_kind_of(Sys::Admin::User)
38
+ expect(described_class.get_user(user)).to be_a(Sys::Admin::User)
39
39
  end
40
40
 
41
41
  example 'get_user with an integer argument works as expected' do
42
- expect(described_class.get_user(user_id)).to be_kind_of(Sys::Admin::User)
42
+ expect(described_class.get_user(user_id)).to be_a(Sys::Admin::User)
43
43
  end
44
44
 
45
45
  example 'get_user requires at least one argument' do
@@ -63,14 +63,14 @@ RSpec.describe Sys::Admin, :unix do
63
63
 
64
64
  example 'users returns an array of User objects' do
65
65
  users = described_class.users
66
- expect(users).to be_kind_of(Array)
67
- expect(users).to all(be_kind_of(Sys::Admin::User))
66
+ expect(users).to be_a(Array)
67
+ expect(users).to all(be_a(Sys::Admin::User))
68
68
  end
69
69
 
70
- example 'users accepts an optional lastlog argument on darwin', :darwin => true do
70
+ example 'users accepts an optional lastlog argument on darwin', :darwin do
71
71
  users = described_class.users(:lastlog => false)
72
- expect(users).to be_kind_of(Array)
73
- expect(users).to all(be_kind_of(Sys::Admin::User))
72
+ expect(users).to be_a(Array)
73
+ expect(users).to all(be_a(Sys::Admin::User))
74
74
  expect(users.first.login_time).to be_nil
75
75
  end
76
76
  end
@@ -89,11 +89,11 @@ RSpec.describe Sys::Admin, :unix do
89
89
  end
90
90
 
91
91
  example 'get_group accepts a string argument' do
92
- expect(described_class.get_group(group)).to be_kind_of(Sys::Admin::Group)
92
+ expect(described_class.get_group(group)).to be_a(Sys::Admin::Group)
93
93
  end
94
94
 
95
95
  example 'get_group accepts an integer argument' do
96
- expect(described_class.get_group(group_id)).to be_kind_of(Sys::Admin::Group)
96
+ expect(described_class.get_group(group_id)).to be_a(Sys::Admin::Group)
97
97
  end
98
98
 
99
99
  example 'get_group requires one argument only' do
@@ -111,24 +111,24 @@ RSpec.describe Sys::Admin, :unix do
111
111
  end
112
112
 
113
113
  example 'get_group handles large groups and will retry an ERANGE' do
114
- allow(Sys::Admin).to receive(:getgrgid_r).with(any_args).and_return(34)
115
- allow(Sys::Admin).to receive(:getgrgid_r).with(any_args).and_call_original
114
+ allow(described_class).to receive(:getgrgid_r).with(any_args).and_return(34)
115
+ allow(described_class).to receive(:getgrgid_r).with(any_args).and_call_original
116
116
  expect{ described_class.get_group(group_id) }.not_to raise_error
117
117
  end
118
118
 
119
119
  example 'get_group will raise the expected error for an ENOENT' do
120
- allow(Sys::Admin).to receive(:getgrgid_r).with(any_args).and_return(2)
120
+ allow(described_class).to receive(:getgrgid_r).with(any_args).and_return(2)
121
121
  expect{ described_class.get_group(group_id) }.to raise_error(Sys::Admin::Error)
122
122
  end
123
123
 
124
124
  example 'get_group will raise the expected error for a failed getgrxxx function call' do
125
- allow(Sys::Admin).to receive(:getgrgid_r).with(any_args).and_return(22)
125
+ allow(described_class).to receive(:getgrgid_r).with(any_args).and_return(22)
126
126
  allow_any_instance_of(FFI::MemoryPointer).to receive(:null?).and_return(true)
127
127
  expect{ described_class.get_group(group_id) }.to raise_error(Errno::EINVAL)
128
128
  end
129
129
 
130
130
  example 'get_group will not retry failures other than an ERANGE' do
131
- allow(Sys::Admin).to receive(:getgrgid_r).with(any_args).and_return(35)
131
+ allow(described_class).to receive(:getgrgid_r).with(any_args).and_return(35)
132
132
  expect{ described_class.get_group(group_id) }.to raise_error(Sys::Admin::Error)
133
133
  end
134
134
  end
@@ -141,8 +141,8 @@ RSpec.describe Sys::Admin, :unix do
141
141
 
142
142
  example 'groups returns an array of Group objects' do
143
143
  groups = described_class.groups
144
- expect(groups).to be_kind_of(Array)
145
- expect(groups).to all(be_kind_of(Sys::Admin::Group))
144
+ expect(groups).to be_a(Array)
145
+ expect(groups).to all(be_a(Sys::Admin::Group))
146
146
  end
147
147
 
148
148
  example 'groups method does not accept any arguments' do
@@ -156,103 +156,103 @@ RSpec.describe Sys::Admin, :unix do
156
156
  example 'user.name behaves as expected' do
157
157
  user = described_class.get_user(user_id)
158
158
  expect(user).to respond_to(:name)
159
- expect(user.name).to be_kind_of(String)
159
+ expect(user.name).to be_a(String)
160
160
  end
161
161
 
162
162
  example 'user.passwd behaves as expected' do
163
163
  user = described_class.get_user(user_id)
164
164
  expect(user).to respond_to(:passwd)
165
- expect(user.passwd).to be_kind_of(String)
165
+ expect(user.passwd).to be_a(String)
166
166
  end
167
167
 
168
168
  example 'user.uid behaves as expected' do
169
169
  user = described_class.get_user(user_id)
170
170
  expect(user).to respond_to(:uid)
171
- expect(user.uid).to be_kind_of(Integer)
171
+ expect(user.uid).to be_a(Integer)
172
172
  end
173
173
 
174
174
  example 'user.gid behaves as expected' do
175
175
  user = described_class.get_user(user_id)
176
176
  expect(user).to respond_to(:gid)
177
- expect(user.gid).to be_kind_of(Integer)
177
+ expect(user.gid).to be_a(Integer)
178
178
  end
179
179
 
180
180
  example 'user.dir behaves as expected' do
181
181
  user = described_class.get_user(user_id)
182
182
  expect(user).to respond_to(:dir)
183
- expect(user.dir).to be_kind_of(String)
183
+ expect(user.dir).to be_a(String)
184
184
  end
185
185
 
186
186
  example 'user.shell behaves as expected' do
187
187
  user = described_class.get_user(user_id)
188
188
  expect(user).to respond_to(:shell)
189
- expect(user.shell).to be_kind_of(String)
189
+ expect(user.shell).to be_a(String)
190
190
  end
191
191
 
192
192
  example 'user.gecos behaves as expected' do
193
193
  user = described_class.get_user(user_id)
194
194
  expect(user).to respond_to(:gecos)
195
- expect(user.gecos).to be_kind_of(String).or be_nil
195
+ expect(user.gecos).to be_a(String).or be_nil
196
196
  end
197
197
 
198
198
  example 'user.quota behaves as expected' do
199
199
  user = described_class.get_user(user_id)
200
200
  expect(user).to respond_to(:quota)
201
- expect(user.quota).to be_kind_of(Integer).or be_nil
201
+ expect(user.quota).to be_a(Integer).or be_nil
202
202
  end
203
203
 
204
204
  example 'user.age behaves as expected' do
205
205
  user = described_class.get_user(user_id)
206
206
  expect(user).to respond_to(:age)
207
- expect(user.age).to be_kind_of(Integer).or be_nil
207
+ expect(user.age).to be_a(Integer).or be_nil
208
208
  end
209
209
 
210
210
  example 'user.access behaves as expected' do
211
211
  user = described_class.get_user(user_id)
212
212
  expect(user).to respond_to(:access_class)
213
- expect(user.access_class).to be_kind_of(String).or be_nil
213
+ expect(user.access_class).to be_a(String).or be_nil
214
214
  end
215
215
 
216
216
  example 'user.comment behaves as expected' do
217
217
  user = described_class.get_user(user_id)
218
218
  expect(user).to respond_to(:comment)
219
- expect(user.comment).to be_kind_of(String).or be_nil
219
+ expect(user.comment).to be_a(String).or be_nil
220
220
  end
221
221
 
222
222
  example 'user.expire behaves as expected' do
223
223
  user = described_class.get_user(user_id)
224
224
  expect(user).to respond_to(:expire)
225
- expect(user.expire).to be_kind_of(Time).or be_nil
225
+ expect(user.expire).to be_a(Time).or be_nil
226
226
  end
227
227
 
228
228
  example 'user.change behaves as expected' do
229
229
  user = described_class.get_user(user_id)
230
230
  expect(user).to respond_to(:change)
231
- expect(user.change).to be_kind_of(Time).or be_nil
231
+ expect(user.change).to be_a(Time).or be_nil
232
232
  end
233
233
 
234
234
  example 'user.login_time behaves as expected' do
235
235
  user = described_class.get_user(user_id)
236
236
  expect(user).to respond_to(:login_time)
237
- expect(user.login_time).to be_kind_of(Time).or be_nil
237
+ expect(user.login_time).to be_a(Time).or be_nil
238
238
  end
239
239
 
240
240
  example 'user.login_device behaves as expected' do
241
241
  user = described_class.get_user(user_id)
242
242
  expect(user).to respond_to(:login_device)
243
- expect(user.login_device).to be_kind_of(String).or be_nil
243
+ expect(user.login_device).to be_a(String).or be_nil
244
244
  end
245
245
 
246
246
  example 'user.login_host behaves as expected' do
247
247
  user = described_class.get_user(user_id)
248
248
  expect(user).to respond_to(:login_host)
249
- expect(user.login_host).to be_kind_of(String).or be_nil
249
+ expect(user.login_host).to be_a(String).or be_nil
250
250
  end
251
251
 
252
252
  example 'user.groups behaves as expected' do
253
253
  user = described_class.get_user(user_id)
254
254
  expect(user).to respond_to(:groups)
255
- expect(user.groups).to be_kind_of(Array)
255
+ expect(user.groups).to be_a(Array)
256
256
  end
257
257
  end
258
258
 
@@ -260,25 +260,25 @@ RSpec.describe Sys::Admin, :unix do
260
260
  example 'group.name behaves as expected' do
261
261
  group = described_class.get_group(group_id)
262
262
  expect(group).to respond_to(:name)
263
- expect(group.name).to be_kind_of(String)
263
+ expect(group.name).to be_a(String)
264
264
  end
265
265
 
266
266
  example 'group.gid behaves as expected' do
267
267
  group = described_class.get_group(group_id)
268
268
  expect(group).to respond_to(:gid)
269
- expect(group.gid).to be_kind_of(Integer)
269
+ expect(group.gid).to be_a(Integer)
270
270
  end
271
271
 
272
272
  example 'group.members behaves as expected' do
273
273
  group = described_class.get_group(group_id)
274
274
  expect(group).to respond_to(:members)
275
- expect(group.members).to be_kind_of(Array)
275
+ expect(group.members).to be_a(Array)
276
276
  end
277
277
 
278
278
  example 'group.passwd behaves as expected' do
279
279
  group = described_class.get_group(group_id)
280
280
  expect(group).to respond_to(:passwd)
281
- expect(group.passwd).to be_kind_of(String)
281
+ expect(group.passwd).to be_a(String)
282
282
  end
283
283
  end
284
284
  end
@@ -23,7 +23,7 @@ RSpec.describe Sys::Admin, :windows do
23
23
  @group_id = 546 # best guess, may fail
24
24
  end
25
25
 
26
- describe 'add, configure and delete user', :order => :defined, :requires_elevated => true do
26
+ describe 'add, configure and delete user', :requires_elevated, :order => :defined do
27
27
  before(:all) do
28
28
  @local_user = 'foo'
29
29
  end
@@ -54,7 +54,7 @@ RSpec.describe Sys::Admin, :windows do
54
54
  end
55
55
  end
56
56
 
57
- describe 'add, configure and delete group', :order => :defined, :requires_elevated => true do
57
+ describe 'add, configure and delete group', :requires_elevated, :order => :defined do
58
58
  before(:all) do
59
59
  @local_user = 'foo'
60
60
  @local_group = 'bar'
@@ -100,7 +100,7 @@ RSpec.describe Sys::Admin, :windows do
100
100
  end
101
101
 
102
102
  example 'get_login returns a string' do
103
- expect(described_class.get_login).to be_kind_of(String)
103
+ expect(described_class.get_login).to be_a(String)
104
104
  expect(described_class.get_login.size).to be > 0
105
105
  end
106
106
 
@@ -116,24 +116,24 @@ RSpec.describe Sys::Admin, :windows do
116
116
 
117
117
  example 'get_user with string argument works as expected' do
118
118
  expect{ described_class.get_user(@user_name, :localaccount => true) }.not_to raise_error
119
- expect(described_class.get_user(@user_name, :localaccount => true)).to be_kind_of(Sys::Admin::User)
119
+ expect(described_class.get_user(@user_name, :localaccount => true)).to be_a(Sys::Admin::User)
120
120
  end
121
121
 
122
122
  example 'get user with integer argument works as expected' do
123
123
  expect{ described_class.get_user(@user_id, :localaccount => true) }.not_to raise_error
124
- expect(described_class.get_user(@user_id, :localaccount => true)).to be_kind_of(Sys::Admin::User)
124
+ expect(described_class.get_user(@user_id, :localaccount => true)).to be_a(Sys::Admin::User)
125
125
  end
126
126
 
127
127
  example 'get_user method by string accepts a hash of options' do
128
128
  options = {:host => host, :localaccount => true}
129
129
  expect{ described_class.get_user(@user_name, options) }.not_to raise_error
130
- expect(described_class.get_user(@user_name, options)).to be_kind_of(Sys::Admin::User)
130
+ expect(described_class.get_user(@user_name, options)).to be_a(Sys::Admin::User)
131
131
  end
132
132
 
133
133
  example 'get_user method by uid accepts a hash of options' do
134
134
  options = {:host => host, :localaccount => true}
135
135
  expect{ described_class.get_user(@user_id, options) }.not_to raise_error
136
- expect(described_class.get_user(@user_id, options)).to be_kind_of(Sys::Admin::User)
136
+ expect(described_class.get_user(@user_id, options)).to be_a(Sys::Admin::User)
137
137
  end
138
138
 
139
139
  example 'get_user method requires an argument' do
@@ -149,8 +149,8 @@ RSpec.describe Sys::Admin, :windows do
149
149
 
150
150
  example 'users method returns an array of User objects' do
151
151
  users = described_class.users(:localaccount => true)
152
- expect(users).to be_kind_of(Array)
153
- expect(users).to all(be_kind_of(Sys::Admin::User))
152
+ expect(users).to be_a(Array)
153
+ expect(users).to all(be_a(Sys::Admin::User))
154
154
  end
155
155
  end
156
156
 
@@ -161,18 +161,18 @@ RSpec.describe Sys::Admin, :windows do
161
161
 
162
162
  example 'get_group method returns expected results with a string argument' do
163
163
  expect{ described_class.get_group(@group_name, :localaccount => true) }.not_to raise_error
164
- expect(described_class.get_group(@group_name, :localaccount => true)).to be_kind_of(Sys::Admin::Group)
164
+ expect(described_class.get_group(@group_name, :localaccount => true)).to be_a(Sys::Admin::Group)
165
165
  end
166
166
 
167
167
  example 'get_group method returns expected results with an integer argument' do
168
168
  expect{ described_class.get_group(@group_id, :localaccount => true) }.not_to raise_error
169
- expect(described_class.get_group(@group_id, :localaccount => true)).to be_kind_of(Sys::Admin::Group)
169
+ expect(described_class.get_group(@group_id, :localaccount => true)).to be_a(Sys::Admin::Group)
170
170
  end
171
171
 
172
172
  example 'get_group method accepts a hash of options' do
173
173
  options = {:host => host, :localaccount => true}
174
174
  expect{ described_class.get_group(@group_name, options) }.not_to raise_error
175
- expect(described_class.get_group(@group_name, options)).to be_kind_of(Sys::Admin::Group)
175
+ expect(described_class.get_group(@group_name, options)).to be_a(Sys::Admin::Group)
176
176
  end
177
177
 
178
178
  example 'get_group method requires an argument' do
@@ -188,8 +188,8 @@ RSpec.describe Sys::Admin, :windows do
188
188
 
189
189
  example 'groups method returns an array of Group objects' do
190
190
  groups = described_class.groups(:localaccount => true)
191
- expect(groups).to be_kind_of(Array)
192
- expect(groups).to all(be_kind_of(Sys::Admin::Group))
191
+ expect(groups).to be_a(Array)
192
+ expect(groups).to all(be_a(Sys::Admin::Group))
193
193
  end
194
194
  end
195
195
  end
@@ -282,7 +282,7 @@ RSpec.describe Sys::Admin, :windows do
282
282
 
283
283
  example 'dir method returns either a string or nil' do
284
284
  expect{ @user = described_class.get_user(@user_name, :localaccount => true) }.not_to raise_error
285
- expect(@user.dir).to be_kind_of(String).or be_kind_of(NilClass)
285
+ expect(@user.dir).to be_a(String).or be_a(NilClass)
286
286
  end
287
287
  end
288
288
 
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.3'
6
+ spec.version = '1.8.4'
7
7
  spec.author = 'Daniel J. Berger'
8
8
  spec.license = 'Apache-2.0'
9
9
  spec.email = 'djberg96@gmail.com'
@@ -35,7 +35,8 @@ Gem::Specification.new do |spec|
35
35
  'source_code_uri' => 'https://github.com/djberg96/sys-admin',
36
36
  'wiki_uri' => 'https://github.com/djberg96/sys-admin/wiki',
37
37
  'rubygems_mfa_required' => 'true',
38
- 'github_repo' => 'https://github.com/djberg96/sys-admin'
38
+ 'github_repo' => 'https://github.com/djberg96/sys-admin',
39
+ 'funding_uri' => 'https://github.com/sponsors/djberg96'
39
40
  }
40
41
 
41
42
  spec.description = <<-EOF
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sys-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.3
4
+ version: 1.8.4
5
5
  platform: universal-mingw32
6
6
  authors:
7
7
  - Daniel J. Berger
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain:
11
10
  - |
@@ -35,7 +34,7 @@ cert_chain:
35
34
  ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
36
35
  WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
37
36
  -----END CERTIFICATE-----
38
- date: 2024-04-20 00:00:00.000000000 Z
37
+ date: 1980-01-02 00:00:00.000000000 Z
39
38
  dependencies:
40
39
  - !ruby/object:Gem::Dependency
41
40
  name: ffi
@@ -170,7 +169,7 @@ metadata:
170
169
  wiki_uri: https://github.com/djberg96/sys-admin/wiki
171
170
  rubygems_mfa_required: 'true'
172
171
  github_repo: https://github.com/djberg96/sys-admin
173
- post_install_message:
172
+ funding_uri: https://github.com/sponsors/djberg96
174
173
  rdoc_options: []
175
174
  require_paths:
176
175
  - lib
@@ -185,8 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
184
  - !ruby/object:Gem::Version
186
185
  version: '0'
187
186
  requirements: []
188
- rubygems_version: 3.5.7
189
- signing_key:
187
+ rubygems_version: 3.6.7
190
188
  specification_version: 4
191
189
  summary: A unified, cross platform replacement for the "etc" library.
192
190
  test_files:
metadata.gz.sig CHANGED
Binary file