diff options
author | Eric Wong <e@80x24.org> | 2019-11-15 09:50:34 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-11-16 11:05:23 +0000 |
commit | 321defd4c722ae897fc99e10ce8d05515a97e91f (patch) | |
tree | 35a0a6f985abaa46caf91c3eaf6f596be252f617 /lib/PublicInbox/Admin.pm | |
parent | 10fad7e1cf3eb0a4874afa1cb5ddb3d75afeec7d (diff) | |
download | public-inbox-321defd4c722ae897fc99e10ce8d05515a97e91f.tar.gz |
PublicInbox::Admin::config() just adds an extra layer of indirection which we barely rely on. So get rid of this global variable and make it easier to run tests in the future without relying on global state.
Diffstat (limited to 'lib/PublicInbox/Admin.pm')
-rw-r--r-- | lib/PublicInbox/Admin.pm | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/PublicInbox/Admin.pm b/lib/PublicInbox/Admin.pm index d2a0d06b..dddeeae9 100644 --- a/lib/PublicInbox/Admin.pm +++ b/lib/PublicInbox/Admin.pm @@ -9,7 +9,6 @@ use warnings; use Cwd 'abs_path'; use base qw(Exporter); our @EXPORT_OK = qw(resolve_repo_dir); -my $CFG; # all the admin stuff is a singleton require PublicInbox::Config; sub resolve_repo_dir { @@ -80,14 +79,12 @@ sub unconfigured_ibx ($$) { }); } -sub config () { $CFG //= eval { PublicInbox::Config->new } } - -sub resolve_inboxes ($;$) { - my ($argv, $opt) = @_; +sub resolve_inboxes ($;$$) { + my ($argv, $opt, $cfg) = @_; require PublicInbox::Inbox; $opt ||= {}; - my $cfg = config(); + $cfg //= eval { PublicInbox::Config->new }; if ($opt->{all}) { my $cfgfile = PublicInbox::Config::default_file(); $cfg or die "--all specified, but $cfgfile not readable\n"; |