Skip to content

Commit c8f9c1e

Browse files
Lazily require etc
This helps bundler by not activating the `etc` gem automatically when it's vendored version of `fileutils` is required. That would allow bundler users to activate any version of the `etc` gem they want.
1 parent 9e925fa commit c8f9c1e

1 file changed

Lines changed: 2 additions & 5 deletions

File tree

lib/fileutils.rb

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1081,11 +1081,6 @@ def chown_R(user, group, list, noop: nil, verbose: nil, force: nil)
10811081
end
10821082
module_function :chown_R
10831083

1084-
begin
1085-
require 'etc'
1086-
rescue LoadError # rescue LoadError for miniruby
1087-
end
1088-
10891084
def fu_get_uid(user) #:nodoc:
10901085
return nil unless user
10911086
case user
@@ -1094,6 +1089,7 @@ def fu_get_uid(user) #:nodoc:
10941089
when /\A\d+\z/
10951090
user.to_i
10961091
else
1092+
require 'etc'
10971093
Etc.getpwnam(user) ? Etc.getpwnam(user).uid : nil
10981094
end
10991095
end
@@ -1107,6 +1103,7 @@ def fu_get_gid(group) #:nodoc:
11071103
when /\A\d+\z/
11081104
group.to_i
11091105
else
1106+
require 'etc'
11101107
Etc.getgrnam(group) ? Etc.getgrnam(group).gid : nil
11111108
end
11121109
end

0 commit comments

Comments
 (0)