isomorfeus-ferret 0.14.4 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +56 -6
  3. data/ext/isomorfeus_ferret_ext/extconf.rb +19 -1
  4. data/ext/isomorfeus_ferret_ext/frb_analysis.c +0 -4
  5. data/ext/isomorfeus_ferret_ext/frb_index.c +170 -52
  6. data/ext/isomorfeus_ferret_ext/frb_lazy_doc.c +4 -0
  7. data/ext/isomorfeus_ferret_ext/frb_qparser.c +1 -6
  8. data/ext/isomorfeus_ferret_ext/frb_search.c +1 -6
  9. data/ext/isomorfeus_ferret_ext/frb_store.c +246 -61
  10. data/ext/isomorfeus_ferret_ext/frb_utils.c +0 -4
  11. data/ext/isomorfeus_ferret_ext/frt_compound_io.c +5 -5
  12. data/ext/isomorfeus_ferret_ext/frt_except.c +11 -11
  13. data/ext/isomorfeus_ferret_ext/frt_hash.c +32 -70
  14. data/ext/isomorfeus_ferret_ext/frt_ind.c +20 -20
  15. data/ext/isomorfeus_ferret_ext/frt_ind.h +1 -1
  16. data/ext/isomorfeus_ferret_ext/frt_index.c +84 -90
  17. data/ext/isomorfeus_ferret_ext/frt_index.h +11 -11
  18. data/ext/isomorfeus_ferret_ext/frt_mdbx_store.c +749 -0
  19. data/ext/isomorfeus_ferret_ext/frt_q_parser.c +4 -4
  20. data/ext/isomorfeus_ferret_ext/frt_ram_store.c +9 -9
  21. data/ext/isomorfeus_ferret_ext/frt_search.c +0 -3
  22. data/ext/isomorfeus_ferret_ext/frt_search.h +1 -1
  23. data/ext/isomorfeus_ferret_ext/frt_sort.c +2 -2
  24. data/ext/isomorfeus_ferret_ext/frt_store.c +6 -8
  25. data/ext/isomorfeus_ferret_ext/frt_store.h +37 -24
  26. data/ext/isomorfeus_ferret_ext/frt_threading.h +0 -16
  27. data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.c +2 -11
  28. data/ext/isomorfeus_ferret_ext/isomorfeus_ferret.h +1 -1
  29. data/ext/isomorfeus_ferret_ext/mdbx.c +33675 -0
  30. data/ext/isomorfeus_ferret_ext/mdbx.h +5495 -0
  31. data/ext/isomorfeus_ferret_ext/test.c +9 -9
  32. data/ext/isomorfeus_ferret_ext/test_index.c +3 -3
  33. data/ext/isomorfeus_ferret_ext/{test_fs_store.c → test_mdbx_store.c} +4 -10
  34. data/ext/isomorfeus_ferret_ext/test_ram_store.c +1 -1
  35. data/ext/isomorfeus_ferret_ext/test_segments.c +1 -1
  36. data/ext/isomorfeus_ferret_ext/test_sort.c +2 -2
  37. data/ext/isomorfeus_ferret_ext/test_store.c +4 -8
  38. data/ext/isomorfeus_ferret_ext/test_threading.c +4 -4
  39. data/ext/isomorfeus_ferret_ext/tests_all.h +2 -3
  40. data/lib/isomorfeus/ferret/index/index.rb +8 -9
  41. data/lib/isomorfeus/ferret/version.rb +1 -1
  42. metadata +9 -7
  43. data/ext/isomorfeus_ferret_ext/frt_fs_store.c +0 -505
@@ -730,14 +730,14 @@ static VALUE frb_ts_except(VALUE v) { return INT2FIX(execute_test(6)); }
730
730
  static VALUE frb_ts_fields(VALUE v) { return INT2FIX(execute_test(7)); }
731
731
  static VALUE frb_ts_file_deleter(VALUE v) { return INT2FIX(execute_test(8)); }
732
732
  static VALUE frb_ts_filter(VALUE v) { return INT2FIX(execute_test(9)); }
733
- static VALUE frb_ts_fs_store(VALUE v) { return INT2FIX(execute_test(10)); }
734
- static VALUE frb_ts_global(VALUE v) { return INT2FIX(execute_test(11)); }
735
- static VALUE frb_ts_hash(VALUE v) { return INT2FIX(execute_test(12)); }
736
- static VALUE frb_ts_hashset(VALUE v) { return INT2FIX(execute_test(13)); }
737
- static VALUE frb_ts_helper(VALUE v) { return INT2FIX(execute_test(14)); }
738
- static VALUE frb_ts_highlighter(VALUE v) { return INT2FIX(execute_test(15)); }
739
- static VALUE frb_ts_index(VALUE v) { return INT2FIX(execute_test(16)); }
740
- static VALUE frb_ts_lang(VALUE v) { return INT2FIX(execute_test(17)); }
733
+ static VALUE frb_ts_global(VALUE v) { return INT2FIX(execute_test(10)); }
734
+ static VALUE frb_ts_hash(VALUE v) { return INT2FIX(execute_test(11)); }
735
+ static VALUE frb_ts_hashset(VALUE v) { return INT2FIX(execute_test(12)); }
736
+ static VALUE frb_ts_helper(VALUE v) { return INT2FIX(execute_test(13)); }
737
+ static VALUE frb_ts_highlighter(VALUE v) { return INT2FIX(execute_test(14)); }
738
+ static VALUE frb_ts_index(VALUE v) { return INT2FIX(execute_test(15)); }
739
+ static VALUE frb_ts_lang(VALUE v) { return INT2FIX(execute_test(16)); }
740
+ static VALUE frb_ts_mdbx_store(VALUE v) { return INT2FIX(execute_test(17)); }
741
741
  static VALUE frb_ts_mem_pool(VALUE v) { return INT2FIX(execute_test(18)); }
742
742
  static VALUE frb_ts_multimapper(VALUE v) { return INT2FIX(execute_test(19)); }
743
743
  static VALUE frb_ts_priorityqueue(VALUE v){ return INT2FIX(execute_test(20)); }
@@ -808,7 +808,6 @@ void Init_Test(void) {
808
808
  rb_define_singleton_method(mTest, "fields", frb_ts_fields, 0);
809
809
  rb_define_singleton_method(mTest, "file_deleter", frb_ts_file_deleter, 0);
810
810
  rb_define_singleton_method(mTest, "filter", frb_ts_filter, 0);
811
- rb_define_singleton_method(mTest, "fs_store", frb_ts_fs_store, 0);
812
811
  rb_define_singleton_method(mTest, "global", frb_ts_global, 0);
813
812
  rb_define_singleton_method(mTest, "test_hash", frb_ts_hash, 0);
814
813
  rb_define_singleton_method(mTest, "hashset", frb_ts_hashset, 0);
@@ -816,6 +815,7 @@ void Init_Test(void) {
816
815
  rb_define_singleton_method(mTest, "highlighter", frb_ts_highlighter, 0);
817
816
  rb_define_singleton_method(mTest, "index", frb_ts_index, 0);
818
817
  rb_define_singleton_method(mTest, "lang", frb_ts_lang, 0);
818
+ rb_define_singleton_method(mTest, "mdbx_store", frb_ts_mdbx_store, 0);
819
819
  rb_define_singleton_method(mTest, "mem_pool", frb_ts_mem_pool, 0);
820
820
  rb_define_singleton_method(mTest, "multimapper", frb_ts_multimapper, 0);
821
821
  rb_define_singleton_method(mTest, "priorityqueue", frb_ts_priorityqueue, 0);
@@ -956,7 +956,7 @@ static void test_iw_add_doc(TestCase *tc, void *data)
956
956
  */
957
957
  static void test_create_with_reader(TestCase *tc, void *data)
958
958
  {
959
- FrtStore *store = frt_open_fs_store(TEST_DIR);
959
+ FrtStore *store = frt_open_mdbx_store(TEST_DIR);
960
960
  (void)data;
961
961
  FrtIndexWriter *iw;
962
962
  FrtIndexReader *ir, *ir2;
@@ -2208,7 +2208,7 @@ TestSuite *ts_index(TestSuite *suite)
2208
2208
  FrtIndexReader *ir;
2209
2209
  FrtStore *fs_store, *store = frt_open_ram_store(NULL);
2210
2210
  ReaderTestEnvironment *rte = NULL;
2211
- /* FrtStore *store = frt_open_fs_store(TEST_DIR); */
2211
+ /* FrtStore *store = frt_open_mdbx_store(TEST_DIR); */
2212
2212
 
2213
2213
  /* initialize IDs */
2214
2214
  body = rb_intern("body");
@@ -2321,7 +2321,7 @@ TestSuite *ts_index(TestSuite *suite)
2321
2321
  /* Other FrtIndexReader Tests */
2322
2322
  tst_run_test_with_name(suite, test_ir_read_while_optimizing, store, "test_ir_read_while_optimizing_in_ram");
2323
2323
 
2324
- fs_store = frt_open_fs_store(TEST_DIR);
2324
+ fs_store = frt_open_mdbx_store(TEST_DIR);
2325
2325
  tst_run_test_with_name(suite, test_ir_read_while_optimizing, fs_store, "test_ir_read_while_optimizing_on_disk");
2326
2326
  fs_store->clear_all(fs_store);
2327
2327
  frt_store_close(fs_store);
@@ -3,23 +3,17 @@
3
3
  #include "test.h"
4
4
 
5
5
  /**
6
- * Test a FileSystem store
6
+ * Test a MDBX store
7
7
  */
8
- TestSuite *ts_fs_store(TestSuite *suite)
9
- {
10
-
8
+ TestSuite *ts_mdbx_store(TestSuite *suite) {
11
9
  #if defined POSH_OS_WIN32 || defined POSH_OS_WIN64
12
- FrtStore *store = frt_open_fs_store(".\\test\\testdir\\store");
10
+ FrtStore *store = frt_open_mdbx_store(".\\test\\testdir\\mdbx_store");
13
11
  #else
14
- FrtStore *store = frt_open_fs_store("./test/testdir/store");
12
+ FrtStore *store = frt_open_mdbx_store("./test/testdir/mdbx_store");
15
13
  #endif
16
14
  store->clear(store);
17
-
18
15
  suite = ADD_SUITE(suite);
19
-
20
16
  create_test_store_suite(suite, store);
21
-
22
17
  frt_store_close(store);
23
-
24
18
  return suite;
25
19
  }
@@ -11,7 +11,7 @@ void test_write_to(TestCase *tc, void *data)
11
11
  int i;
12
12
  char *tmp;
13
13
  FrtStore *ram_store = frt_open_ram_store(NULL);
14
- FrtStore *fs_store = frt_open_fs_store("./test/testdir/store");
14
+ FrtStore *fs_store = frt_open_mdbx_store("./test/testdir/store");
15
15
  char str[18] = "³³ øãíøäÄ";
16
16
  char buf[18000] = "";
17
17
  FrtOutStream *ostream, *fs_ostream;
@@ -47,7 +47,7 @@ static void test_si(TestCase *tc, void *data)
47
47
  FrtStore *store = (FrtStore *)data;
48
48
  FrtSegmentInfo *si = frt_si_new(frt_estrdup("_1"), 10, store);
49
49
  Asi_has_vals(si, "_1", 10, store);
50
- store = frt_open_fs_store("./test/testdir/store");
50
+ store = frt_open_mdbx_store("./test/testdir/store");
51
51
  si->name[1] = '2';
52
52
  si->doc_cnt += 2;
53
53
  si->store = store;
@@ -318,9 +318,9 @@ TestSuite *ts_sort(TestSuite *suite)
318
318
  do_byte_test = false;
319
319
 
320
320
  #if defined POSH_OS_WIN32 || defined POSH_OS_WIN64
321
- fs_store = frt_open_fs_store(".\\test\\testdir\\store");
321
+ fs_store = frt_open_mdbx_store(".\\test\\testdir\\store");
322
322
  #else
323
- fs_store = frt_open_fs_store("./test/testdir/store");
323
+ fs_store = frt_open_mdbx_store("./test/testdir/store");
324
324
  #endif
325
325
  sort_multi_test_setup(store, fs_store);
326
326
 
@@ -18,8 +18,7 @@ typedef struct WithLockNameTestArg {
18
18
  TestCase *tc;
19
19
  } WithLockNameTestArg;
20
20
 
21
- static void with_lock_test(void *p)
22
- {
21
+ static void with_lock_test(void *p) {
23
22
  WithLockTestArg *l = (WithLockTestArg *)p;
24
23
  TestCase *tc = l->tc;
25
24
  Assert(l->lock->is_locked(l->lock), "lock should be locked");
@@ -115,13 +114,11 @@ static void test_lock(TestCase *tc, void *data)
115
114
  /**
116
115
  * Do basic file operations test.
117
116
  */
118
- static void test_basic_file_ops(TestCase *tc, void *data)
119
- {
117
+ static void test_basic_file_ops(TestCase *tc, void *data) {
120
118
  FrtStore *store = (FrtStore *)data;
121
119
 
122
120
  store->clear_all(store); /* Make sure the test directory is empty. */
123
- Assert(!store->exists(store, "_1.f1"),
124
- "File1 should not been created yet");
121
+ Assert(!store->exists(store, "_1.f1"), "File1 should not been created yet");
125
122
  store->touch(store, "_1.f1");
126
123
  Aiequal(1, store->count(store));
127
124
  Assert(store->count(store) == 1, "The store now contains one file");
@@ -567,8 +564,7 @@ static void test_read_bytes(TestCase *tc, void *data)
567
564
  * suite for both a FileSystem store and a RAM store and any other type of
568
565
  * store that you might want to create.
569
566
  */
570
- void create_test_store_suite(TestSuite *suite, FrtStore *store)
571
- {
567
+ void create_test_store_suite(TestSuite *suite, FrtStore *store) {
572
568
  store->clear_all(store);
573
569
 
574
570
  tst_run_test(suite, test_basic_file_ops, store);
@@ -88,7 +88,7 @@ static void do_search(FrtIndex *index)
88
88
 
89
89
  tlog("Searching for %d\n", n);
90
90
 
91
- frt_mutex_lock(&index->mutex);
91
+ pthread_mutex_lock(&index->mutex);
92
92
  td = frt_index_search_str(index, query, 0, 3, NULL, NULL, NULL, enc);
93
93
  free(query);
94
94
  for (i = 0; i < td->size; i++) {
@@ -98,7 +98,7 @@ static void do_search(FrtIndex *index)
98
98
  frt_doc_destroy(doc);
99
99
  }
100
100
  tlog("Searched for %d: total = %d\n", n, td->total_hits);
101
- frt_mutex_unlock(&index->mutex);
101
+ pthread_mutex_unlock(&index->mutex);
102
102
 
103
103
  frt_td_destroy(td);
104
104
  }
@@ -155,7 +155,7 @@ TestSuite *ts_threading(TestSuite *suite)
155
155
  contents = rb_intern("contents");
156
156
 
157
157
  FrtAnalyzer *a = frt_letter_analyzer_new(true);
158
- FrtStore *store = frt_open_fs_store("./test/testdir/store");
158
+ FrtStore *store = frt_open_mdbx_store("./test/testdir/store");
159
159
  FrtIndex *index;
160
160
  FrtHashSet *def_fields = frt_hs_new_ptr(NULL);
161
161
  FrtFieldInfos *fis = frt_fis_new(0 | FRT_FI_IS_STORED_BM | FRT_FI_IS_INDEXED_BM | FRT_FI_IS_TOKENIZED_BM | FRT_FI_STORE_TERM_VECTOR_BM | FRT_FI_STORE_POSITIONS_BM | FRT_FI_STORE_OFFSETS_BM);
@@ -180,7 +180,7 @@ TestSuite *ts_threading(TestSuite *suite)
180
180
 
181
181
  frt_index_destroy(index);
182
182
 
183
- store = frt_open_fs_store("./test/testdir/store");
183
+ store = frt_open_mdbx_store("./test/testdir/store");
184
184
  store->clear_all(store);
185
185
  frt_store_close(store);
186
186
 
@@ -3,7 +3,6 @@
3
3
 
4
4
  #include "test.h"
5
5
 
6
-
7
6
  TestSuite *ts_1710(TestSuite *suite);
8
7
  TestSuite *ts_analysis(TestSuite *suite);
9
8
  TestSuite *ts_array(TestSuite *suite);
@@ -14,7 +13,6 @@ TestSuite *ts_except(TestSuite *suite);
14
13
  TestSuite *ts_fields(TestSuite *suite);
15
14
  TestSuite *ts_file_deleter(TestSuite *suite);
16
15
  TestSuite *ts_filter(TestSuite *suite);
17
- TestSuite *ts_fs_store(TestSuite *suite);
18
16
  TestSuite *ts_global(TestSuite *suite);
19
17
  TestSuite *ts_hash(TestSuite *suite);
20
18
  TestSuite *ts_hashset(TestSuite *suite);
@@ -22,6 +20,7 @@ TestSuite *ts_helper(TestSuite *suite);
22
20
  TestSuite *ts_highlighter(TestSuite *suite);
23
21
  TestSuite *ts_index(TestSuite *suite);
24
22
  TestSuite *ts_lang(TestSuite *suite);
23
+ TestSuite *ts_mdbx_store(TestSuite *suite);
25
24
  TestSuite *ts_mem_pool(TestSuite *suite);
26
25
  TestSuite *ts_multimapper(TestSuite *suite);
27
26
  TestSuite *ts_priorityqueue(TestSuite *suite);
@@ -56,7 +55,6 @@ const struct test_list
56
55
  {ts_fields},
57
56
  {ts_file_deleter},
58
57
  {ts_filter},
59
- {ts_fs_store},
60
58
  {ts_global},
61
59
  {ts_hash},
62
60
  {ts_hashset},
@@ -64,6 +62,7 @@ const struct test_list
64
62
  {ts_highlighter},
65
63
  {ts_index},
66
64
  {ts_lang},
65
+ {ts_mdbx_store},
67
66
  {ts_mem_pool},
68
67
  {ts_multimapper},
69
68
  {ts_priorityqueue},
@@ -111,10 +111,9 @@ module Isomorfeus
111
111
  if options[:path]
112
112
  @close_dir = true
113
113
  begin
114
- @dir = FSDirectory.new(options[:path], options[:create])
114
+ @dir = MDBXDirectory.new(options[:path], options[:create])
115
115
  rescue IOError
116
- @dir = FSDirectory.new(options[:path],
117
- options[:create_if_missing] != false)
116
+ @dir = MDBXDirectory.new(options[:path], options[:create_if_missing] != false)
118
117
  end
119
118
  elsif options[:dir]
120
119
  @dir = options[:dir]
@@ -690,9 +689,9 @@ module Isomorfeus
690
689
 
691
690
  # Returns true if any documents have been deleted since the index was last
692
691
  # flushed.
693
- def has_deletions?()
692
+ def has_deletions?
694
693
  @dir.synchronize do
695
- ensure_reader_open()
694
+ ensure_reader_open
696
695
  return @reader.has_deletions?
697
696
  end
698
697
  end
@@ -703,7 +702,7 @@ module Isomorfeus
703
702
  # NOTE: this is not necessary if you are only using this class. All writes
704
703
  # will automatically flush when you perform an operation that reads the
705
704
  # index.
706
- def flush()
705
+ def flush
707
706
  @dir.synchronize do
708
707
  if @reader
709
708
  if @searcher
@@ -786,10 +785,10 @@ module Isomorfeus
786
785
  # false.
787
786
  def persist(directory, create = true)
788
787
  synchronize do
789
- close_all()
788
+ close_all
790
789
  old_dir = @dir
791
790
  if directory.is_a?(String)
792
- @dir = FSDirectory.new(directory, create)
791
+ @dir = MDBXDirectory.new(directory, create)
793
792
  elsif directory.is_a?(Ferret::Store::Directory)
794
793
  @dir = directory
795
794
  end
@@ -948,7 +947,7 @@ module Isomorfeus
948
947
  return @searcher.search(query, options)
949
948
  end
950
949
 
951
- def close_all()
950
+ def close_all
952
951
  @dir.synchronize do
953
952
  @searcher.close if @searcher
954
953
  @reader.close if @reader
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Ferret
3
- VERSION = '0.14.4'
3
+ VERSION = '0.16.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-ferret
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.4
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-30 00:00:00.000000000 Z
11
+ date: 2022-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.13.14
19
+ version: 3.13.23
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 3.13.14
26
+ version: 3.13.23
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -202,7 +202,6 @@ files:
202
202
  - ext/isomorfeus_ferret_ext/frt_field_index.c
203
203
  - ext/isomorfeus_ferret_ext/frt_field_index.h
204
204
  - ext/isomorfeus_ferret_ext/frt_filter.c
205
- - ext/isomorfeus_ferret_ext/frt_fs_store.c
206
205
  - ext/isomorfeus_ferret_ext/frt_global.c
207
206
  - ext/isomorfeus_ferret_ext/frt_global.h
208
207
  - ext/isomorfeus_ferret_ext/frt_hash.c
@@ -217,6 +216,7 @@ files:
217
216
  - ext/isomorfeus_ferret_ext/frt_index.h
218
217
  - ext/isomorfeus_ferret_ext/frt_lang.c
219
218
  - ext/isomorfeus_ferret_ext/frt_lang.h
219
+ - ext/isomorfeus_ferret_ext/frt_mdbx_store.c
220
220
  - ext/isomorfeus_ferret_ext/frt_mempool.c
221
221
  - ext/isomorfeus_ferret_ext/frt_mempool.h
222
222
  - ext/isomorfeus_ferret_ext/frt_multimapper.c
@@ -262,6 +262,8 @@ files:
262
262
  - ext/isomorfeus_ferret_ext/lz4hc.h
263
263
  - ext/isomorfeus_ferret_ext/lz4xxhash.c
264
264
  - ext/isomorfeus_ferret_ext/lz4xxhash.h
265
+ - ext/isomorfeus_ferret_ext/mdbx.c
266
+ - ext/isomorfeus_ferret_ext/mdbx.h
265
267
  - ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.c
266
268
  - ext/isomorfeus_ferret_ext/stem_UTF_8_arabic.h
267
269
  - ext/isomorfeus_ferret_ext/stem_UTF_8_armenian.c
@@ -337,7 +339,6 @@ files:
337
339
  - ext/isomorfeus_ferret_ext/test_fields.c
338
340
  - ext/isomorfeus_ferret_ext/test_file_deleter.c
339
341
  - ext/isomorfeus_ferret_ext/test_filter.c
340
- - ext/isomorfeus_ferret_ext/test_fs_store.c
341
342
  - ext/isomorfeus_ferret_ext/test_global.c
342
343
  - ext/isomorfeus_ferret_ext/test_hash.c
343
344
  - ext/isomorfeus_ferret_ext/test_hashset.c
@@ -345,6 +346,7 @@ files:
345
346
  - ext/isomorfeus_ferret_ext/test_highlighter.c
346
347
  - ext/isomorfeus_ferret_ext/test_index.c
347
348
  - ext/isomorfeus_ferret_ext/test_lang.c
349
+ - ext/isomorfeus_ferret_ext/test_mdbx_store.c
348
350
  - ext/isomorfeus_ferret_ext/test_mempool.c
349
351
  - ext/isomorfeus_ferret_ext/test_multimapper.c
350
352
  - ext/isomorfeus_ferret_ext/test_priorityqueue.c
@@ -396,7 +398,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
396
398
  - !ruby/object:Gem::Version
397
399
  version: '0'
398
400
  requirements: []
399
- rubygems_version: 3.3.7
401
+ rubygems_version: 3.4.0.dev
400
402
  signing_key:
401
403
  specification_version: 4
402
404
  summary: Indexed document store for Isomorfeus.