From c8f9c1e0c3390dafee45dbb5842593e7a3d6b861 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Tue, 26 Mar 2019 11:59:19 +0100 Subject: [PATCH] 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. --- lib/fileutils.rb | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/fileutils.rb b/lib/fileutils.rb index a273300..2794ffc 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -1081,11 +1081,6 @@ def chown_R(user, group, list, noop: nil, verbose: nil, force: nil) end module_function :chown_R - begin - require 'etc' - rescue LoadError # rescue LoadError for miniruby - end - def fu_get_uid(user) #:nodoc: return nil unless user case user @@ -1094,6 +1089,7 @@ def fu_get_uid(user) #:nodoc: when /\A\d+\z/ user.to_i else + require 'etc' Etc.getpwnam(user) ? Etc.getpwnam(user).uid : nil end end @@ -1107,6 +1103,7 @@ def fu_get_gid(group) #:nodoc: when /\A\d+\z/ group.to_i else + require 'etc' Etc.getgrnam(group) ? Etc.getgrnam(group).gid : nil end end