diff options
author | Eric Wong <e@80x24.org> | 2019-06-14 17:13:04 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-06-14 17:27:10 +0000 |
commit | 20ddcb02821ff3bf8afd2c2279e0889492c93fd9 (patch) | |
tree | 8f9af12f09b4df05594ca916057f54dd48728ecc | |
parent | 585314673236d664729fe3ab2d4fb229d1c0f2d5 (diff) | |
download | public-inbox-20ddcb02821ff3bf8afd2c2279e0889492c93fd9.tar.gz |
No sense in supporting multiple methods of initialization for an internal class.
-rw-r--r-- | lib/PublicInbox/Inbox.pm | 2 | ||||
-rw-r--r-- | lib/PublicInbox/Search.pm | 15 | ||||
-rw-r--r-- | t/altid.t | 5 | ||||
-rw-r--r-- | t/search.t | 4 |
4 files changed, 11 insertions, 15 deletions
diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm index c9330332..10f716ca 100644 --- a/lib/PublicInbox/Inbox.pm +++ b/lib/PublicInbox/Inbox.pm @@ -191,7 +191,7 @@ sub search ($;$) { my $srch = $self->{search} ||= eval { _cleanup_later($self); require PublicInbox::Search; - PublicInbox::Search->new($self, $self->{altid}); + PublicInbox::Search->new($self); }; ($over_only || eval { $srch->xdb }) ? $srch : undef; } diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index 9903f427..098c97cd 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -170,17 +170,12 @@ sub xdb ($) { } sub new { - my ($class, $mainrepo, $altid) = @_; - my $version = 1; - my $ibx = $mainrepo; - if (ref $ibx) { - $version = $ibx->{version} || 1; - $mainrepo = $ibx->{mainrepo}; - } + my ($class, $ibx) = @_; + ref $ibx or die "BUG: expected PublicInbox::Inbox object: $ibx"; my $self = bless { - mainrepo => $mainrepo, - altid => $altid, - version => $version, + mainrepo => $ibx->{mainrepo}, + altid => $ibx->{altid}, + version => $ibx->{version} // 1, }, $class; my $dir = xdir($self, 1); $self->{over_ro} = PublicInbox::Over->new("$dir/over.sqlite3"); @@ -17,6 +17,7 @@ my $tmpdir = tempdir('pi-altid-XXXXXX', TMPDIR => 1, CLEANUP => 1); my $git_dir = "$tmpdir/a.git"; my $alt_file = "$tmpdir/another-nntp.sqlite3"; my $altid = [ "serial:gmane:file=$alt_file" ]; +my $ibx; { my $mm = PublicInbox::Msgmap->new_file($alt_file, 1); @@ -42,14 +43,14 @@ my $altid = [ "serial:gmane:file=$alt_file" ]; $im->done; } { - my $ibx = PublicInbox::Inbox->new({mainrepo => $git_dir}); + $ibx = PublicInbox::Inbox->new({mainrepo => $git_dir}); $ibx->{altid} = $altid; my $rw = PublicInbox::SearchIdx->new($ibx, 1); $rw->index_sync; } { - my $ro = PublicInbox::Search->new($git_dir, $altid); + my $ro = PublicInbox::Search->new($ibx); my $msgs = $ro->query("gmane:1234"); is_deeply([map { $_->mid } @$msgs], ['a@example.com'], 'got one match'); @@ -18,7 +18,7 @@ my $ibx = PublicInbox::Inbox->new({ mainrepo => $git_dir }); my ($root_id, $last_id); is(0, system(qw(git init --shared -q --bare), $git_dir), "git init (main)"); -eval { PublicInbox::Search->new($git_dir)->xdb }; +eval { PublicInbox::Search->new($ibx)->xdb }; ok($@, "exception raised on non-existent DB"); my $rw = PublicInbox::SearchIdx->new($ibx, 1); @@ -27,7 +27,7 @@ $ibx->with_umask(sub { $rw->_xdb_release; }); $rw = undef; -my $ro = PublicInbox::Search->new($git_dir); +my $ro = PublicInbox::Search->new($ibx); my $rw_commit = sub { $rw->commit_txn_lazy if $rw; $rw = PublicInbox::SearchIdx->new($ibx, 1); |