longleaf 0.2.0.pre.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.circleci/config.yml +84 -0
- data/.gitignore +4 -2
- data/.rubocop.yml +42 -2
- data/.rubocop_todo.yml +390 -311
- data/.yardopts +1 -0
- data/Gemfile +16 -1
- data/README.md +67 -13
- data/Rakefile +6 -0
- data/bin/setup +16 -1
- data/docs/aboutlongleaf.md +28 -0
- data/docs/extra.css +32 -0
- data/docs/img/change-file.png +0 -0
- data/docs/img/ll-example-preserved.png +0 -0
- data/docs/index.md +19 -0
- data/docs/install.md +66 -0
- data/docs/ll-example/config-example-relative.yml +33 -0
- data/docs/ll-example/files-dir/LLexample-PDF.pdf +0 -0
- data/docs/ll-example/files-dir/LLexample-TOCHANGE.txt +15 -0
- data/docs/ll-example/files-dir/LLexample-tokeep.txt +10 -0
- data/docs/ll-example/metadata-dir/.gitkeep +0 -0
- data/docs/ll-example/replica-files/.gitkeep +0 -0
- data/docs/ll-example/replica-metadata/.gitkeep +0 -0
- data/docs/quickstart.md +270 -0
- data/docs/rdocs/Longleaf.html +135 -0
- data/docs/rdocs/Longleaf/AppFields.html +178 -0
- data/docs/rdocs/Longleaf/ApplicationConfigDeserializer.html +631 -0
- data/docs/rdocs/Longleaf/ApplicationConfigManager.html +610 -0
- data/docs/rdocs/Longleaf/ApplicationConfigValidator.html +238 -0
- data/docs/rdocs/Longleaf/CLI.html +909 -0
- data/docs/rdocs/Longleaf/ChecksumMismatchError.html +151 -0
- data/docs/rdocs/Longleaf/ConfigBuilder.html +1339 -0
- data/docs/rdocs/Longleaf/ConfigurationError.html +143 -0
- data/docs/rdocs/Longleaf/ConfigurationValidator.html +227 -0
- data/docs/rdocs/Longleaf/DeregisterCommand.html +420 -0
- data/docs/rdocs/Longleaf/DeregisterEvent.html +453 -0
- data/docs/rdocs/Longleaf/DeregistrationError.html +151 -0
- data/docs/rdocs/Longleaf/DigestHelper.html +419 -0
- data/docs/rdocs/Longleaf/EventError.html +147 -0
- data/docs/rdocs/Longleaf/EventNames.html +163 -0
- data/docs/rdocs/Longleaf/EventStatusTracking.html +656 -0
- data/docs/rdocs/Longleaf/FileCheckService.html +540 -0
- data/docs/rdocs/Longleaf/FileHelpers.html +520 -0
- data/docs/rdocs/Longleaf/FileRecord.html +716 -0
- data/docs/rdocs/Longleaf/FileSelector.html +901 -0
- data/docs/rdocs/Longleaf/FixityCheckService.html +691 -0
- data/docs/rdocs/Longleaf/IndexManager.html +1155 -0
- data/docs/rdocs/Longleaf/InvalidDigestAlgorithmError.html +143 -0
- data/docs/rdocs/Longleaf/InvalidStoragePathError.html +143 -0
- data/docs/rdocs/Longleaf/Logging.html +405 -0
- data/docs/rdocs/Longleaf/Logging/RedirectingLogger.html +1213 -0
- data/docs/rdocs/Longleaf/LongleafError.html +139 -0
- data/docs/rdocs/Longleaf/MDFields.html +193 -0
- data/docs/rdocs/Longleaf/MetadataBuilder.html +787 -0
- data/docs/rdocs/Longleaf/MetadataDeserializer.html +537 -0
- data/docs/rdocs/Longleaf/MetadataError.html +143 -0
- data/docs/rdocs/Longleaf/MetadataPersistenceManager.html +539 -0
- data/docs/rdocs/Longleaf/MetadataRecord.html +1411 -0
- data/docs/rdocs/Longleaf/MetadataSerializer.html +786 -0
- data/docs/rdocs/Longleaf/PreservationServiceError.html +147 -0
- data/docs/rdocs/Longleaf/PreserveCommand.html +410 -0
- data/docs/rdocs/Longleaf/PreserveEvent.html +491 -0
- data/docs/rdocs/Longleaf/RegisterCommand.html +428 -0
- data/docs/rdocs/Longleaf/RegisterEvent.html +628 -0
- data/docs/rdocs/Longleaf/RegisteredFileSelector.html +446 -0
- data/docs/rdocs/Longleaf/RegistrationError.html +151 -0
- data/docs/rdocs/Longleaf/ReindexCommand.html +576 -0
- data/docs/rdocs/Longleaf/RsyncReplicationService.html +1180 -0
- data/docs/rdocs/Longleaf/SequelIndexDriver.html +1978 -0
- data/docs/rdocs/Longleaf/ServiceCandidateFilesystemIterator.html +572 -0
- data/docs/rdocs/Longleaf/ServiceCandidateIndexIterator.html +532 -0
- data/docs/rdocs/Longleaf/ServiceCandidateLocator.html +333 -0
- data/docs/rdocs/Longleaf/ServiceClassCache.html +725 -0
- data/docs/rdocs/Longleaf/ServiceDateHelper.html +425 -0
- data/docs/rdocs/Longleaf/ServiceDefinition.html +683 -0
- data/docs/rdocs/Longleaf/ServiceDefinitionManager.html +371 -0
- data/docs/rdocs/Longleaf/ServiceDefinitionValidator.html +269 -0
- data/docs/rdocs/Longleaf/ServiceFields.html +173 -0
- data/docs/rdocs/Longleaf/ServiceManager.html +1229 -0
- data/docs/rdocs/Longleaf/ServiceMappingManager.html +410 -0
- data/docs/rdocs/Longleaf/ServiceMappingValidator.html +347 -0
- data/docs/rdocs/Longleaf/ServiceRecord.html +821 -0
- data/docs/rdocs/Longleaf/StorageLocation.html +985 -0
- data/docs/rdocs/Longleaf/StorageLocationManager.html +729 -0
- data/docs/rdocs/Longleaf/StorageLocationUnavailableError.html +143 -0
- data/docs/rdocs/Longleaf/StorageLocationValidator.html +373 -0
- data/docs/rdocs/Longleaf/StoragePathValidator.html +253 -0
- data/docs/rdocs/Longleaf/SystemConfigBuilder.html +441 -0
- data/docs/rdocs/Longleaf/SystemConfigFields.html +163 -0
- data/docs/rdocs/Longleaf/ValidateConfigCommand.html +451 -0
- data/docs/rdocs/Longleaf/ValidateMetadataCommand.html +408 -0
- data/docs/rdocs/_index.html +660 -0
- data/docs/rdocs/class_list.html +51 -0
- data/docs/rdocs/css/common.css +1 -0
- data/docs/rdocs/css/full_list.css +58 -0
- data/docs/rdocs/css/style.css +496 -0
- data/docs/rdocs/file.README.html +165 -0
- data/docs/rdocs/file_list.html +56 -0
- data/docs/rdocs/frames.html +17 -0
- data/docs/rdocs/index.html +165 -0
- data/docs/rdocs/js/app.js +303 -0
- data/docs/rdocs/js/full_list.js +216 -0
- data/docs/rdocs/js/jquery.js +4 -0
- data/docs/rdocs/method_list.html +2051 -0
- data/docs/rdocs/top-level-namespace.html +110 -0
- data/lib/longleaf/candidates/file_selector.rb +47 -15
- data/lib/longleaf/candidates/registered_file_selector.rb +67 -0
- data/lib/longleaf/candidates/service_candidate_filesystem_iterator.rb +29 -35
- data/lib/longleaf/candidates/service_candidate_index_iterator.rb +84 -0
- data/lib/longleaf/candidates/service_candidate_locator.rb +9 -4
- data/lib/longleaf/cli.rb +162 -80
- data/lib/longleaf/commands/deregister_command.rb +12 -11
- data/lib/longleaf/commands/preserve_command.rb +13 -8
- data/lib/longleaf/commands/register_command.rb +9 -6
- data/lib/longleaf/commands/reindex_command.rb +92 -0
- data/lib/longleaf/commands/validate_config_command.rb +27 -6
- data/lib/longleaf/commands/validate_metadata_command.rb +11 -9
- data/lib/longleaf/errors.rb +12 -12
- data/lib/longleaf/events/deregister_event.rb +13 -15
- data/lib/longleaf/events/event_status_tracking.rb +7 -7
- data/lib/longleaf/events/preserve_event.rb +24 -14
- data/lib/longleaf/events/register_event.rb +21 -35
- data/lib/longleaf/helpers/digest_helper.rb +4 -4
- data/lib/longleaf/helpers/service_date_helper.rb +5 -6
- data/lib/longleaf/indexing/index_manager.rb +101 -0
- data/lib/longleaf/indexing/sequel_index_driver.rb +324 -0
- data/lib/longleaf/logging.rb +4 -4
- data/lib/longleaf/logging/redirecting_logger.rb +20 -20
- data/lib/longleaf/models/app_fields.rb +2 -1
- data/lib/longleaf/models/file_record.rb +10 -6
- data/lib/longleaf/models/md_fields.rb +1 -1
- data/lib/longleaf/models/metadata_record.rb +22 -12
- data/lib/longleaf/models/service_definition.rb +3 -3
- data/lib/longleaf/models/service_fields.rb +1 -1
- data/lib/longleaf/models/service_record.rb +6 -5
- data/lib/longleaf/models/storage_location.rb +26 -7
- data/lib/longleaf/models/system_config_fields.rb +9 -0
- data/lib/longleaf/preservation_services/file_check_service.rb +58 -0
- data/lib/longleaf/preservation_services/fixity_check_service.rb +16 -14
- data/lib/longleaf/preservation_services/rsync_replication_service.rb +32 -31
- data/lib/longleaf/services/application_config_deserializer.rb +55 -18
- data/lib/longleaf/services/application_config_manager.rb +16 -4
- data/lib/longleaf/services/application_config_validator.rb +1 -2
- data/lib/longleaf/services/configuration_validator.rb +6 -4
- data/lib/longleaf/services/metadata_deserializer.rb +40 -38
- data/lib/longleaf/services/metadata_persistence_manager.rb +46 -0
- data/lib/longleaf/services/metadata_serializer.rb +23 -22
- data/lib/longleaf/services/service_class_cache.rb +15 -15
- data/lib/longleaf/services/service_definition_manager.rb +5 -6
- data/lib/longleaf/services/service_definition_validator.rb +5 -6
- data/lib/longleaf/services/service_manager.rb +37 -17
- data/lib/longleaf/services/service_mapping_manager.rb +9 -9
- data/lib/longleaf/services/service_mapping_validator.rb +9 -10
- data/lib/longleaf/services/storage_location_manager.rb +22 -8
- data/lib/longleaf/services/storage_location_validator.rb +11 -8
- data/lib/longleaf/services/storage_path_validator.rb +1 -1
- data/lib/longleaf/specs/config_builder.rb +30 -17
- data/lib/longleaf/specs/custom_matchers.rb +1 -1
- data/lib/longleaf/specs/file_helpers.rb +15 -14
- data/lib/longleaf/specs/metadata_builder.rb +91 -0
- data/lib/longleaf/specs/system_config_builder.rb +27 -0
- data/lib/longleaf/version.rb +1 -1
- data/longleaf.gemspec +17 -7
- data/mkdocs.yml +20 -0
- metadata +233 -22
|
@@ -0,0 +1,1155 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>
|
|
7
|
+
Class: Longleaf::IndexManager
|
|
8
|
+
|
|
9
|
+
— Documentation by YARD 0.9.19
|
|
10
|
+
|
|
11
|
+
</title>
|
|
12
|
+
|
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
|
|
14
|
+
|
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
|
|
16
|
+
|
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
|
18
|
+
pathId = "Longleaf::IndexManager";
|
|
19
|
+
relpath = '../';
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
|
24
|
+
|
|
25
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
</head>
|
|
29
|
+
<body>
|
|
30
|
+
<div class="nav_wrap">
|
|
31
|
+
<iframe id="nav" src="../class_list.html?1"></iframe>
|
|
32
|
+
<div id="resizer"></div>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
<div id="main" tabindex="-1">
|
|
36
|
+
<div id="header">
|
|
37
|
+
<div id="menu">
|
|
38
|
+
|
|
39
|
+
<a href="../_index.html">Index (I)</a> »
|
|
40
|
+
<span class='title'><span class='object_link'><a href="../Longleaf.html" title="Longleaf (module)">Longleaf</a></span></span>
|
|
41
|
+
»
|
|
42
|
+
<span class="title">IndexManager</span>
|
|
43
|
+
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div id="search">
|
|
47
|
+
|
|
48
|
+
<a class="full_list_link" id="class_list_link"
|
|
49
|
+
href="../class_list.html">
|
|
50
|
+
|
|
51
|
+
<svg width="24" height="24">
|
|
52
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
|
53
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
|
54
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
|
55
|
+
</svg>
|
|
56
|
+
</a>
|
|
57
|
+
|
|
58
|
+
</div>
|
|
59
|
+
<div class="clear"></div>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<div id="content"><h1>Class: Longleaf::IndexManager
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
</h1>
|
|
67
|
+
<div class="box_info">
|
|
68
|
+
|
|
69
|
+
<dl>
|
|
70
|
+
<dt>Inherits:</dt>
|
|
71
|
+
<dd>
|
|
72
|
+
<span class="inheritName">Object</span>
|
|
73
|
+
|
|
74
|
+
<ul class="fullTree">
|
|
75
|
+
<li>Object</li>
|
|
76
|
+
|
|
77
|
+
<li class="next">Longleaf::IndexManager</li>
|
|
78
|
+
|
|
79
|
+
</ul>
|
|
80
|
+
<a href="#" class="inheritanceTree">show all</a>
|
|
81
|
+
|
|
82
|
+
</dd>
|
|
83
|
+
</dl>
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
<dl>
|
|
96
|
+
<dt>Defined in:</dt>
|
|
97
|
+
<dd>lib/longleaf/indexing/index_manager.rb</dd>
|
|
98
|
+
</dl>
|
|
99
|
+
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
<h2>Overview</h2><div class="docstring">
|
|
103
|
+
<div class="discussion">
|
|
104
|
+
|
|
105
|
+
<p>Manager configures and provides access to a metadata index if one is specified</p>
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="tags">
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
<h2>
|
|
122
|
+
Instance Method Summary
|
|
123
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
|
124
|
+
</h2>
|
|
125
|
+
|
|
126
|
+
<ul class="summary">
|
|
127
|
+
|
|
128
|
+
<li class="public ">
|
|
129
|
+
<span class="summary_signature">
|
|
130
|
+
|
|
131
|
+
<a href="#clear_index-instance_method" title="#clear_index (instance method)">#<strong>clear_index</strong>(older_than = nil) ⇒ Object </a>
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
</span>
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
146
|
+
|
|
147
|
+
</li>
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
<li class="public ">
|
|
151
|
+
<span class="summary_signature">
|
|
152
|
+
|
|
153
|
+
<a href="#each_registered_path-instance_method" title="#each_registered_path (instance method)">#<strong>each_registered_path</strong>(file_selector, older_than: nil, &block) ⇒ Object </a>
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
</span>
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
168
|
+
|
|
169
|
+
</li>
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
<li class="public ">
|
|
173
|
+
<span class="summary_signature">
|
|
174
|
+
|
|
175
|
+
<a href="#index-instance_method" title="#index (instance method)">#<strong>index</strong>(file_rec) ⇒ Object </a>
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
</span>
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
<span class="summary_desc"><div class='inline'>
|
|
190
|
+
<p>Index the provided file_rec and its metadata.</p>
|
|
191
|
+
</div></span>
|
|
192
|
+
|
|
193
|
+
</li>
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
<li class="public ">
|
|
197
|
+
<span class="summary_signature">
|
|
198
|
+
|
|
199
|
+
<a href="#index_stale%3F-instance_method" title="#index_stale? (instance method)">#<strong>index_stale?</strong> ⇒ Boolean </a>
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
</span>
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
<span class="summary_desc"><div class='inline'>
|
|
214
|
+
<p>True if the index should be reindexed.</p>
|
|
215
|
+
</div></span>
|
|
216
|
+
|
|
217
|
+
</li>
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
<li class="private ">
|
|
221
|
+
<span class="summary_signature">
|
|
222
|
+
|
|
223
|
+
<a href="#init_index_driver-instance_method" title="#init_index_driver (instance method)">#<strong>init_index_driver</strong> ⇒ Object </a>
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
</span>
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
<span class="note title private">private</span>
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
238
|
+
|
|
239
|
+
</li>
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
<li class="public ">
|
|
243
|
+
<span class="summary_signature">
|
|
244
|
+
|
|
245
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(config, app_config_manager) ⇒ IndexManager </a>
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
</span>
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
<span class="note title constructor">constructor</span>
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
<span class="summary_desc"><div class='inline'>
|
|
262
|
+
<p>A new instance of IndexManager.</p>
|
|
263
|
+
</div></span>
|
|
264
|
+
|
|
265
|
+
</li>
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
<li class="public ">
|
|
269
|
+
<span class="summary_signature">
|
|
270
|
+
|
|
271
|
+
<a href="#paths_with_stale_services-instance_method" title="#paths_with_stale_services (instance method)">#<strong>paths_with_stale_services</strong>(file_selector, stale_datetime) ⇒ Array </a>
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
</span>
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
<span class="summary_desc"><div class='inline'>
|
|
286
|
+
<p>Retrieves a set of which have one or more services which need to run.</p>
|
|
287
|
+
</div></span>
|
|
288
|
+
|
|
289
|
+
</li>
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
<li class="public ">
|
|
293
|
+
<span class="summary_signature">
|
|
294
|
+
|
|
295
|
+
<a href="#registered_paths-instance_method" title="#registered_paths (instance method)">#<strong>registered_paths</strong>(file_selector) ⇒ Array </a>
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
</span>
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
<span class="summary_desc"><div class='inline'>
|
|
310
|
+
<p>Retrieves a page of paths for registered files.</p>
|
|
311
|
+
</div></span>
|
|
312
|
+
|
|
313
|
+
</li>
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
<li class="public ">
|
|
317
|
+
<span class="summary_signature">
|
|
318
|
+
|
|
319
|
+
<a href="#remove-instance_method" title="#remove (instance method)">#<strong>remove</strong>(remove_me) ⇒ Object </a>
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
</span>
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
<span class="summary_desc"><div class='inline'>
|
|
334
|
+
<p>Remove an entry from the index.</p>
|
|
335
|
+
</div></span>
|
|
336
|
+
|
|
337
|
+
</li>
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
<li class="public ">
|
|
341
|
+
<span class="summary_signature">
|
|
342
|
+
|
|
343
|
+
<a href="#setup_index-instance_method" title="#setup_index (instance method)">#<strong>setup_index</strong> ⇒ Object </a>
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
</span>
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
<span class="summary_desc"><div class='inline'>
|
|
358
|
+
<p>Setup initial structure of index implementation.</p>
|
|
359
|
+
</div></span>
|
|
360
|
+
|
|
361
|
+
</li>
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
<li class="public ">
|
|
365
|
+
<span class="summary_signature">
|
|
366
|
+
|
|
367
|
+
<a href="#update_index_state-instance_method" title="#update_index_state (instance method)">#<strong>update_index_state</strong> ⇒ Object </a>
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
</span>
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
382
|
+
|
|
383
|
+
</li>
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
<li class="public ">
|
|
387
|
+
<span class="summary_signature">
|
|
388
|
+
|
|
389
|
+
<a href="#using_index%3F-instance_method" title="#using_index? (instance method)">#<strong>using_index?</strong> ⇒ Boolean </a>
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
</span>
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
<span class="summary_desc"><div class='inline'>
|
|
404
|
+
<p>True if the system is configured to use a metadata index.</p>
|
|
405
|
+
</div></span>
|
|
406
|
+
|
|
407
|
+
</li>
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
</ul>
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
<div id="constructor_details" class="method_details_list">
|
|
414
|
+
<h2>Constructor Details</h2>
|
|
415
|
+
|
|
416
|
+
<div class="method_details first">
|
|
417
|
+
<h3 class="signature first" id="initialize-instance_method">
|
|
418
|
+
|
|
419
|
+
#<strong>initialize</strong>(config, app_config_manager) ⇒ <tt><span class='object_link'><a href="" title="Longleaf::IndexManager (class)">IndexManager</a></span></tt>
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
</h3><div class="docstring">
|
|
426
|
+
<div class="discussion">
|
|
427
|
+
|
|
428
|
+
<p>Returns a new instance of IndexManager</p>
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
</div>
|
|
432
|
+
</div>
|
|
433
|
+
<div class="tags">
|
|
434
|
+
<p class="tag_title">Parameters:</p>
|
|
435
|
+
<ul class="param">
|
|
436
|
+
|
|
437
|
+
<li>
|
|
438
|
+
|
|
439
|
+
<span class='name'>config</span>
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
—
|
|
447
|
+
<div class='inline'>
|
|
448
|
+
<p>The system configuration as a hash</p>
|
|
449
|
+
</div>
|
|
450
|
+
|
|
451
|
+
</li>
|
|
452
|
+
|
|
453
|
+
<li>
|
|
454
|
+
|
|
455
|
+
<span class='name'>app_config_manager</span>
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
<span class='type'>(<tt><span class='object_link'><a href="ApplicationConfigManager.html" title="Longleaf::ApplicationConfigManager (class)">ApplicationConfigManager</a></span></tt>)</span>
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
—
|
|
463
|
+
<div class='inline'>
|
|
464
|
+
<p>the application config</p>
|
|
465
|
+
</div>
|
|
466
|
+
|
|
467
|
+
</li>
|
|
468
|
+
|
|
469
|
+
</ul>
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
</div><table class="source_code">
|
|
473
|
+
<tr>
|
|
474
|
+
<td>
|
|
475
|
+
<pre class="lines">
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
12
|
|
479
|
+
13
|
|
480
|
+
14
|
|
481
|
+
15
|
|
482
|
+
16</pre>
|
|
483
|
+
</td>
|
|
484
|
+
<td>
|
|
485
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 12</span>
|
|
486
|
+
|
|
487
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_app_config_manager'>app_config_manager</span><span class='rparen'>)</span>
|
|
488
|
+
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='id identifier rubyid_config'>config</span>
|
|
489
|
+
<span class='ivar'>@app_config_manager</span> <span class='op'>=</span> <span class='id identifier rubyid_app_config_manager'>app_config_manager</span>
|
|
490
|
+
<span class='id identifier rubyid_init_index_driver'>init_index_driver</span> <span class='kw'>if</span> <span class='ivar'>@config</span><span class='op'>&.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='const'>SYS_FIELDS</span><span class='op'>::</span><span class='const'>MD_INDEX</span><span class='rparen'>)</span>
|
|
491
|
+
<span class='kw'>end</span></pre>
|
|
492
|
+
</td>
|
|
493
|
+
</tr>
|
|
494
|
+
</table>
|
|
495
|
+
</div>
|
|
496
|
+
|
|
497
|
+
</div>
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
<div id="instance_method_details" class="method_details_list">
|
|
501
|
+
<h2>Instance Method Details</h2>
|
|
502
|
+
|
|
503
|
+
|
|
504
|
+
<div class="method_details first">
|
|
505
|
+
<h3 class="signature first" id="clear_index-instance_method">
|
|
506
|
+
|
|
507
|
+
#<strong>clear_index</strong>(older_than = nil) ⇒ <tt>Object</tt>
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
</h3><table class="source_code">
|
|
514
|
+
<tr>
|
|
515
|
+
<td>
|
|
516
|
+
<pre class="lines">
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
36
|
|
520
|
+
37
|
|
521
|
+
38</pre>
|
|
522
|
+
</td>
|
|
523
|
+
<td>
|
|
524
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 36</span>
|
|
525
|
+
|
|
526
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_clear_index'>clear_index</span><span class='lparen'>(</span><span class='id identifier rubyid_older_than'>older_than</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
|
527
|
+
<span class='ivar'>@index_driver</span><span class='period'>.</span><span class='id identifier rubyid_clear_index'>clear_index</span><span class='lparen'>(</span><span class='id identifier rubyid_older_than'>older_than</span><span class='rparen'>)</span>
|
|
528
|
+
<span class='kw'>end</span></pre>
|
|
529
|
+
</td>
|
|
530
|
+
</tr>
|
|
531
|
+
</table>
|
|
532
|
+
</div>
|
|
533
|
+
|
|
534
|
+
<div class="method_details ">
|
|
535
|
+
<h3 class="signature " id="each_registered_path-instance_method">
|
|
536
|
+
|
|
537
|
+
#<strong>each_registered_path</strong>(file_selector, older_than: nil, &block) ⇒ <tt>Object</tt>
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
</h3><table class="source_code">
|
|
544
|
+
<tr>
|
|
545
|
+
<td>
|
|
546
|
+
<pre class="lines">
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
71
|
|
550
|
+
72
|
|
551
|
+
73</pre>
|
|
552
|
+
</td>
|
|
553
|
+
<td>
|
|
554
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 71</span>
|
|
555
|
+
|
|
556
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_each_registered_path'>each_registered_path</span><span class='lparen'>(</span><span class='id identifier rubyid_file_selector'>file_selector</span><span class='comma'>,</span> <span class='label'>older_than:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
557
|
+
<span class='ivar'>@index_driver</span><span class='period'>.</span><span class='id identifier rubyid_each_registered_path'>each_registered_path</span><span class='lparen'>(</span><span class='id identifier rubyid_file_selector'>file_selector</span><span class='comma'>,</span> <span class='label'>older_than:</span> <span class='id identifier rubyid_older_than'>older_than</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
558
|
+
<span class='kw'>end</span></pre>
|
|
559
|
+
</td>
|
|
560
|
+
</tr>
|
|
561
|
+
</table>
|
|
562
|
+
</div>
|
|
563
|
+
|
|
564
|
+
<div class="method_details ">
|
|
565
|
+
<h3 class="signature " id="index-instance_method">
|
|
566
|
+
|
|
567
|
+
#<strong>index</strong>(file_rec) ⇒ <tt>Object</tt>
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
</h3><div class="docstring">
|
|
574
|
+
<div class="discussion">
|
|
575
|
+
|
|
576
|
+
<p>Index the provided file_rec and its metadata</p>
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
</div>
|
|
580
|
+
</div>
|
|
581
|
+
<div class="tags">
|
|
582
|
+
<p class="tag_title">Parameters:</p>
|
|
583
|
+
<ul class="param">
|
|
584
|
+
|
|
585
|
+
<li>
|
|
586
|
+
|
|
587
|
+
<span class='name'>file_rec</span>
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
<span class='type'>(<tt><span class='object_link'><a href="FileRecord.html" title="Longleaf::FileRecord (class)">FileRecord</a></span></tt>)</span>
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
—
|
|
595
|
+
<div class='inline'>
|
|
596
|
+
<p>file record to index</p>
|
|
597
|
+
</div>
|
|
598
|
+
|
|
599
|
+
</li>
|
|
600
|
+
|
|
601
|
+
</ul>
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
</div><table class="source_code">
|
|
605
|
+
<tr>
|
|
606
|
+
<td>
|
|
607
|
+
<pre class="lines">
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
26
|
|
611
|
+
27
|
|
612
|
+
28</pre>
|
|
613
|
+
</td>
|
|
614
|
+
<td>
|
|
615
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 26</span>
|
|
616
|
+
|
|
617
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='id identifier rubyid_file_rec'>file_rec</span><span class='rparen'>)</span>
|
|
618
|
+
<span class='ivar'>@index_driver</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='id identifier rubyid_file_rec'>file_rec</span><span class='rparen'>)</span>
|
|
619
|
+
<span class='kw'>end</span></pre>
|
|
620
|
+
</td>
|
|
621
|
+
</tr>
|
|
622
|
+
</table>
|
|
623
|
+
</div>
|
|
624
|
+
|
|
625
|
+
<div class="method_details ">
|
|
626
|
+
<h3 class="signature " id="index_stale?-instance_method">
|
|
627
|
+
|
|
628
|
+
#<strong>index_stale?</strong> ⇒ <tt>Boolean</tt>
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
|
|
634
|
+
</h3><div class="docstring">
|
|
635
|
+
<div class="discussion">
|
|
636
|
+
|
|
637
|
+
<p>Returns true if the index should be reindexed</p>
|
|
638
|
+
|
|
639
|
+
|
|
640
|
+
</div>
|
|
641
|
+
</div>
|
|
642
|
+
<div class="tags">
|
|
643
|
+
|
|
644
|
+
<p class="tag_title">Returns:</p>
|
|
645
|
+
<ul class="return">
|
|
646
|
+
|
|
647
|
+
<li>
|
|
648
|
+
|
|
649
|
+
|
|
650
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
|
|
654
|
+
—
|
|
655
|
+
<div class='inline'>
|
|
656
|
+
<p>true if the index should be reindexed</p>
|
|
657
|
+
</div>
|
|
658
|
+
|
|
659
|
+
</li>
|
|
660
|
+
|
|
661
|
+
</ul>
|
|
662
|
+
|
|
663
|
+
</div><table class="source_code">
|
|
664
|
+
<tr>
|
|
665
|
+
<td>
|
|
666
|
+
<pre class="lines">
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
41
|
|
670
|
+
42
|
|
671
|
+
43</pre>
|
|
672
|
+
</td>
|
|
673
|
+
<td>
|
|
674
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 41</span>
|
|
675
|
+
|
|
676
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_index_stale?'>index_stale?</span>
|
|
677
|
+
<span class='ivar'>@index_driver</span><span class='period'>.</span><span class='id identifier rubyid_is_stale?'>is_stale?</span>
|
|
678
|
+
<span class='kw'>end</span></pre>
|
|
679
|
+
</td>
|
|
680
|
+
</tr>
|
|
681
|
+
</table>
|
|
682
|
+
</div>
|
|
683
|
+
|
|
684
|
+
<div class="method_details ">
|
|
685
|
+
<h3 class="signature " id="init_index_driver-instance_method">
|
|
686
|
+
|
|
687
|
+
#<strong>init_index_driver</strong> ⇒ <tt>Object</tt> <span class="extras">(private)</span>
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
</h3><div class="docstring">
|
|
694
|
+
<div class="discussion">
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
</div>
|
|
698
|
+
</div>
|
|
699
|
+
<div class="tags">
|
|
700
|
+
|
|
701
|
+
<p class="tag_title">Raises:</p>
|
|
702
|
+
<ul class="raise">
|
|
703
|
+
|
|
704
|
+
<li>
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
<span class='type'>(<tt><span class='object_link'><a href="ConfigurationError.html" title="Longleaf::ConfigurationError (class)">ConfigurationError</a></span></tt>)</span>
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
</li>
|
|
712
|
+
|
|
713
|
+
</ul>
|
|
714
|
+
|
|
715
|
+
</div><table class="source_code">
|
|
716
|
+
<tr>
|
|
717
|
+
<td>
|
|
718
|
+
<pre class="lines">
|
|
719
|
+
|
|
720
|
+
|
|
721
|
+
76
|
|
722
|
+
77
|
|
723
|
+
78
|
|
724
|
+
79
|
|
725
|
+
80
|
|
726
|
+
81
|
|
727
|
+
82
|
|
728
|
+
83
|
|
729
|
+
84
|
|
730
|
+
85
|
|
731
|
+
86
|
|
732
|
+
87
|
|
733
|
+
88
|
|
734
|
+
89
|
|
735
|
+
90
|
|
736
|
+
91
|
|
737
|
+
92
|
|
738
|
+
93
|
|
739
|
+
94
|
|
740
|
+
95
|
|
741
|
+
96
|
|
742
|
+
97
|
|
743
|
+
98
|
|
744
|
+
99</pre>
|
|
745
|
+
</td>
|
|
746
|
+
<td>
|
|
747
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 76</span>
|
|
748
|
+
|
|
749
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_init_index_driver'>init_index_driver</span>
|
|
750
|
+
<span class='id identifier rubyid_index_conf'>index_conf</span> <span class='op'>=</span> <span class='ivar'>@config</span><span class='lbracket'>[</span><span class='const'>SYS_FIELDS</span><span class='op'>::</span><span class='const'>MD_INDEX</span><span class='rbracket'>]</span>
|
|
751
|
+
<span class='id identifier rubyid_adapter'>adapter</span> <span class='op'>=</span> <span class='id identifier rubyid_index_conf'>index_conf</span><span class='lbracket'>[</span><span class='const'>SYS_FIELDS</span><span class='op'>::</span><span class='const'>MD_INDEX_ADAPTER</span><span class='rbracket'>]</span><span class='op'>&.</span><span class='id identifier rubyid_downcase'>downcase</span>
|
|
752
|
+
|
|
753
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="ConfigurationError.html" title="Longleaf::ConfigurationError (class)">ConfigurationError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Must specify an adapter for the metadata index</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_adapter'>adapter</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
|
754
|
+
|
|
755
|
+
<span class='id identifier rubyid_adapter'>adapter</span> <span class='op'>=</span> <span class='id identifier rubyid_adapter'>adapter</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
|
756
|
+
|
|
757
|
+
<span class='kw'>case</span> <span class='id identifier rubyid_adapter'>adapter</span>
|
|
758
|
+
<span class='kw'>when</span> <span class='symbol'>:postgres</span><span class='comma'>,</span> <span class='symbol'>:mysql</span><span class='comma'>,</span> <span class='symbol'>:mysql2</span><span class='comma'>,</span> <span class='symbol'>:sqlite</span><span class='comma'>,</span> <span class='symbol'>:amalgalite</span>
|
|
759
|
+
<span class='id identifier rubyid_page_size'>page_size</span> <span class='op'>=</span> <span class='id identifier rubyid_index_conf'>index_conf</span><span class='lbracket'>[</span><span class='const'>SYS_FIELDS</span><span class='op'>::</span><span class='const'>MD_INDEX_PAGE_SIZE</span><span class='rbracket'>]</span><span class='op'>&.</span><span class='id identifier rubyid_to_int'>to_int</span>
|
|
760
|
+
|
|
761
|
+
<span class='id identifier rubyid_connection'>connection</span> <span class='op'>=</span> <span class='id identifier rubyid_index_conf'>index_conf</span><span class='lbracket'>[</span><span class='const'>SYS_FIELDS</span><span class='op'>::</span><span class='const'>MD_INDEX_CONNECTION</span><span class='rbracket'>]</span>
|
|
762
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="ConfigurationError.html" title="Longleaf::ConfigurationError (class)">ConfigurationError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Must specify connection details for index adapter of type '</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_adapter'>adapter</span><span class='embexpr_end'>}</span><span class='tstring_content'>'</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_connection'>connection</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
|
763
|
+
|
|
764
|
+
<span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>longleaf/indexing/sequel_index_driver</span><span class='tstring_end'>'</span></span>
|
|
765
|
+
<span class='ivar'>@index_driver</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="SequelIndexDriver.html" title="Longleaf::SequelIndexDriver (class)">SequelIndexDriver</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="SequelIndexDriver.html#initialize-instance_method" title="Longleaf::SequelIndexDriver#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='ivar'>@app_config_manager</span><span class='comma'>,</span>
|
|
766
|
+
<span class='id identifier rubyid_adapter'>adapter</span><span class='comma'>,</span>
|
|
767
|
+
<span class='id identifier rubyid_connection'>connection</span><span class='comma'>,</span>
|
|
768
|
+
<span class='label'>page_size:</span> <span class='id identifier rubyid_page_size'>page_size</span><span class='rparen'>)</span>
|
|
769
|
+
<span class='kw'>else</span>
|
|
770
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="ConfigurationError.html" title="Longleaf::ConfigurationError (class)">ConfigurationError</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Unknown index adapter '</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_adapter'>adapter</span><span class='embexpr_end'>}</span><span class='tstring_content'>' specified.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_adapter'>adapter</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
|
771
|
+
<span class='kw'>end</span>
|
|
772
|
+
<span class='kw'>end</span></pre>
|
|
773
|
+
</td>
|
|
774
|
+
</tr>
|
|
775
|
+
</table>
|
|
776
|
+
</div>
|
|
777
|
+
|
|
778
|
+
<div class="method_details ">
|
|
779
|
+
<h3 class="signature " id="paths_with_stale_services-instance_method">
|
|
780
|
+
|
|
781
|
+
#<strong>paths_with_stale_services</strong>(file_selector, stale_datetime) ⇒ <tt>Array</tt>
|
|
782
|
+
|
|
783
|
+
|
|
784
|
+
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
</h3><div class="docstring">
|
|
788
|
+
<div class="discussion">
|
|
789
|
+
|
|
790
|
+
<p>Retrieves a set of which have one or more services which need to run.</p>
|
|
791
|
+
|
|
792
|
+
|
|
793
|
+
</div>
|
|
794
|
+
</div>
|
|
795
|
+
<div class="tags">
|
|
796
|
+
<p class="tag_title">Parameters:</p>
|
|
797
|
+
<ul class="param">
|
|
798
|
+
|
|
799
|
+
<li>
|
|
800
|
+
|
|
801
|
+
<span class='name'>file_selector</span>
|
|
802
|
+
|
|
803
|
+
|
|
804
|
+
<span class='type'>(<tt><span class='object_link'><a href="FileSelector.html" title="Longleaf::FileSelector (class)">FileSelector</a></span></tt>)</span>
|
|
805
|
+
|
|
806
|
+
|
|
807
|
+
|
|
808
|
+
—
|
|
809
|
+
<div class='inline'>
|
|
810
|
+
<p>selector for paths to search for files</p>
|
|
811
|
+
</div>
|
|
812
|
+
|
|
813
|
+
</li>
|
|
814
|
+
|
|
815
|
+
<li>
|
|
816
|
+
|
|
817
|
+
<span class='name'>stale_datetime</span>
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
<span class='type'>(<tt>DateTime</tt>)</span>
|
|
821
|
+
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
—
|
|
825
|
+
<div class='inline'>
|
|
826
|
+
<p>find file_paths with services needing to be run before this value</p>
|
|
827
|
+
</div>
|
|
828
|
+
|
|
829
|
+
</li>
|
|
830
|
+
|
|
831
|
+
</ul>
|
|
832
|
+
|
|
833
|
+
<p class="tag_title">Returns:</p>
|
|
834
|
+
<ul class="return">
|
|
835
|
+
|
|
836
|
+
<li>
|
|
837
|
+
|
|
838
|
+
|
|
839
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
|
840
|
+
|
|
841
|
+
|
|
842
|
+
|
|
843
|
+
—
|
|
844
|
+
<div class='inline'>
|
|
845
|
+
<p>array of file paths that need one or more services run, in ascending order by timestamp.</p>
|
|
846
|
+
</div>
|
|
847
|
+
|
|
848
|
+
</li>
|
|
849
|
+
|
|
850
|
+
</ul>
|
|
851
|
+
|
|
852
|
+
</div><table class="source_code">
|
|
853
|
+
<tr>
|
|
854
|
+
<td>
|
|
855
|
+
<pre class="lines">
|
|
856
|
+
|
|
857
|
+
|
|
858
|
+
60
|
|
859
|
+
61
|
|
860
|
+
62</pre>
|
|
861
|
+
</td>
|
|
862
|
+
<td>
|
|
863
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 60</span>
|
|
864
|
+
|
|
865
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_paths_with_stale_services'>paths_with_stale_services</span><span class='lparen'>(</span><span class='id identifier rubyid_file_selector'>file_selector</span><span class='comma'>,</span> <span class='id identifier rubyid_stale_datetime'>stale_datetime</span><span class='rparen'>)</span>
|
|
866
|
+
<span class='ivar'>@index_driver</span><span class='period'>.</span><span class='id identifier rubyid_paths_with_stale_services'>paths_with_stale_services</span><span class='lparen'>(</span><span class='id identifier rubyid_file_selector'>file_selector</span><span class='comma'>,</span> <span class='id identifier rubyid_stale_datetime'>stale_datetime</span><span class='rparen'>)</span>
|
|
867
|
+
<span class='kw'>end</span></pre>
|
|
868
|
+
</td>
|
|
869
|
+
</tr>
|
|
870
|
+
</table>
|
|
871
|
+
</div>
|
|
872
|
+
|
|
873
|
+
<div class="method_details ">
|
|
874
|
+
<h3 class="signature " id="registered_paths-instance_method">
|
|
875
|
+
|
|
876
|
+
#<strong>registered_paths</strong>(file_selector) ⇒ <tt>Array</tt>
|
|
877
|
+
|
|
878
|
+
|
|
879
|
+
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
</h3><div class="docstring">
|
|
883
|
+
<div class="discussion">
|
|
884
|
+
|
|
885
|
+
<p>Retrieves a page of paths for registered files.</p>
|
|
886
|
+
|
|
887
|
+
|
|
888
|
+
</div>
|
|
889
|
+
</div>
|
|
890
|
+
<div class="tags">
|
|
891
|
+
<p class="tag_title">Parameters:</p>
|
|
892
|
+
<ul class="param">
|
|
893
|
+
|
|
894
|
+
<li>
|
|
895
|
+
|
|
896
|
+
<span class='name'>file_selector</span>
|
|
897
|
+
|
|
898
|
+
|
|
899
|
+
<span class='type'>(<tt><span class='object_link'><a href="FileSelector.html" title="Longleaf::FileSelector (class)">FileSelector</a></span></tt>)</span>
|
|
900
|
+
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
—
|
|
904
|
+
<div class='inline'>
|
|
905
|
+
<p>selector for what paths to search for files</p>
|
|
906
|
+
</div>
|
|
907
|
+
|
|
908
|
+
</li>
|
|
909
|
+
|
|
910
|
+
</ul>
|
|
911
|
+
|
|
912
|
+
<p class="tag_title">Returns:</p>
|
|
913
|
+
<ul class="return">
|
|
914
|
+
|
|
915
|
+
<li>
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
|
919
|
+
|
|
920
|
+
|
|
921
|
+
|
|
922
|
+
—
|
|
923
|
+
<div class='inline'>
|
|
924
|
+
<p>array of file paths that are registered</p>
|
|
925
|
+
</div>
|
|
926
|
+
|
|
927
|
+
</li>
|
|
928
|
+
|
|
929
|
+
</ul>
|
|
930
|
+
|
|
931
|
+
</div><table class="source_code">
|
|
932
|
+
<tr>
|
|
933
|
+
<td>
|
|
934
|
+
<pre class="lines">
|
|
935
|
+
|
|
936
|
+
|
|
937
|
+
67
|
|
938
|
+
68
|
|
939
|
+
69</pre>
|
|
940
|
+
</td>
|
|
941
|
+
<td>
|
|
942
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 67</span>
|
|
943
|
+
|
|
944
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_registered_paths'>registered_paths</span><span class='lparen'>(</span><span class='id identifier rubyid_file_selector'>file_selector</span><span class='rparen'>)</span>
|
|
945
|
+
<span class='ivar'>@index_driver</span><span class='period'>.</span><span class='id identifier rubyid_registered_paths'>registered_paths</span><span class='lparen'>(</span><span class='id identifier rubyid_file_selector'>file_selector</span><span class='rparen'>)</span>
|
|
946
|
+
<span class='kw'>end</span></pre>
|
|
947
|
+
</td>
|
|
948
|
+
</tr>
|
|
949
|
+
</table>
|
|
950
|
+
</div>
|
|
951
|
+
|
|
952
|
+
<div class="method_details ">
|
|
953
|
+
<h3 class="signature " id="remove-instance_method">
|
|
954
|
+
|
|
955
|
+
#<strong>remove</strong>(remove_me) ⇒ <tt>Object</tt>
|
|
956
|
+
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
|
|
960
|
+
|
|
961
|
+
</h3><div class="docstring">
|
|
962
|
+
<div class="discussion">
|
|
963
|
+
|
|
964
|
+
<p>Remove an entry from the index</p>
|
|
965
|
+
|
|
966
|
+
|
|
967
|
+
</div>
|
|
968
|
+
</div>
|
|
969
|
+
<div class="tags">
|
|
970
|
+
<p class="tag_title">Parameters:</p>
|
|
971
|
+
<ul class="param">
|
|
972
|
+
|
|
973
|
+
<li>
|
|
974
|
+
|
|
975
|
+
<span class='name'>remove_me</span>
|
|
976
|
+
|
|
977
|
+
|
|
978
|
+
<span class='type'></span>
|
|
979
|
+
|
|
980
|
+
|
|
981
|
+
|
|
982
|
+
—
|
|
983
|
+
<div class='inline'>
|
|
984
|
+
<p>The record to remove from the index</p>
|
|
985
|
+
</div>
|
|
986
|
+
|
|
987
|
+
</li>
|
|
988
|
+
|
|
989
|
+
</ul>
|
|
990
|
+
|
|
991
|
+
|
|
992
|
+
</div><table class="source_code">
|
|
993
|
+
<tr>
|
|
994
|
+
<td>
|
|
995
|
+
<pre class="lines">
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
32
|
|
999
|
+
33
|
|
1000
|
+
34</pre>
|
|
1001
|
+
</td>
|
|
1002
|
+
<td>
|
|
1003
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 32</span>
|
|
1004
|
+
|
|
1005
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='id identifier rubyid_remove_me'>remove_me</span><span class='rparen'>)</span>
|
|
1006
|
+
<span class='ivar'>@index_driver</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='id identifier rubyid_remove_me'>remove_me</span><span class='rparen'>)</span>
|
|
1007
|
+
<span class='kw'>end</span></pre>
|
|
1008
|
+
</td>
|
|
1009
|
+
</tr>
|
|
1010
|
+
</table>
|
|
1011
|
+
</div>
|
|
1012
|
+
|
|
1013
|
+
<div class="method_details ">
|
|
1014
|
+
<h3 class="signature " id="setup_index-instance_method">
|
|
1015
|
+
|
|
1016
|
+
#<strong>setup_index</strong> ⇒ <tt>Object</tt>
|
|
1017
|
+
|
|
1018
|
+
|
|
1019
|
+
|
|
1020
|
+
|
|
1021
|
+
|
|
1022
|
+
</h3><div class="docstring">
|
|
1023
|
+
<div class="discussion">
|
|
1024
|
+
|
|
1025
|
+
<p>Setup initial structure of index implementation</p>
|
|
1026
|
+
|
|
1027
|
+
|
|
1028
|
+
</div>
|
|
1029
|
+
</div>
|
|
1030
|
+
<div class="tags">
|
|
1031
|
+
|
|
1032
|
+
|
|
1033
|
+
</div><table class="source_code">
|
|
1034
|
+
<tr>
|
|
1035
|
+
<td>
|
|
1036
|
+
<pre class="lines">
|
|
1037
|
+
|
|
1038
|
+
|
|
1039
|
+
46
|
|
1040
|
+
47
|
|
1041
|
+
48</pre>
|
|
1042
|
+
</td>
|
|
1043
|
+
<td>
|
|
1044
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 46</span>
|
|
1045
|
+
|
|
1046
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_setup_index'>setup_index</span>
|
|
1047
|
+
<span class='ivar'>@index_driver</span><span class='period'>.</span><span class='id identifier rubyid_setup_index'>setup_index</span>
|
|
1048
|
+
<span class='kw'>end</span></pre>
|
|
1049
|
+
</td>
|
|
1050
|
+
</tr>
|
|
1051
|
+
</table>
|
|
1052
|
+
</div>
|
|
1053
|
+
|
|
1054
|
+
<div class="method_details ">
|
|
1055
|
+
<h3 class="signature " id="update_index_state-instance_method">
|
|
1056
|
+
|
|
1057
|
+
#<strong>update_index_state</strong> ⇒ <tt>Object</tt>
|
|
1058
|
+
|
|
1059
|
+
|
|
1060
|
+
|
|
1061
|
+
|
|
1062
|
+
|
|
1063
|
+
</h3><table class="source_code">
|
|
1064
|
+
<tr>
|
|
1065
|
+
<td>
|
|
1066
|
+
<pre class="lines">
|
|
1067
|
+
|
|
1068
|
+
|
|
1069
|
+
50
|
|
1070
|
+
51
|
|
1071
|
+
52</pre>
|
|
1072
|
+
</td>
|
|
1073
|
+
<td>
|
|
1074
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 50</span>
|
|
1075
|
+
|
|
1076
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_update_index_state'>update_index_state</span>
|
|
1077
|
+
<span class='ivar'>@index_driver</span><span class='period'>.</span><span class='id identifier rubyid_update_index_state'>update_index_state</span>
|
|
1078
|
+
<span class='kw'>end</span></pre>
|
|
1079
|
+
</td>
|
|
1080
|
+
</tr>
|
|
1081
|
+
</table>
|
|
1082
|
+
</div>
|
|
1083
|
+
|
|
1084
|
+
<div class="method_details ">
|
|
1085
|
+
<h3 class="signature " id="using_index?-instance_method">
|
|
1086
|
+
|
|
1087
|
+
#<strong>using_index?</strong> ⇒ <tt>Boolean</tt>
|
|
1088
|
+
|
|
1089
|
+
|
|
1090
|
+
|
|
1091
|
+
|
|
1092
|
+
|
|
1093
|
+
</h3><div class="docstring">
|
|
1094
|
+
<div class="discussion">
|
|
1095
|
+
|
|
1096
|
+
<p>Returns true if the system is configured to use a metadata index</p>
|
|
1097
|
+
|
|
1098
|
+
|
|
1099
|
+
</div>
|
|
1100
|
+
</div>
|
|
1101
|
+
<div class="tags">
|
|
1102
|
+
|
|
1103
|
+
<p class="tag_title">Returns:</p>
|
|
1104
|
+
<ul class="return">
|
|
1105
|
+
|
|
1106
|
+
<li>
|
|
1107
|
+
|
|
1108
|
+
|
|
1109
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
1110
|
+
|
|
1111
|
+
|
|
1112
|
+
|
|
1113
|
+
—
|
|
1114
|
+
<div class='inline'>
|
|
1115
|
+
<p>true if the system is configured to use a metadata index</p>
|
|
1116
|
+
</div>
|
|
1117
|
+
|
|
1118
|
+
</li>
|
|
1119
|
+
|
|
1120
|
+
</ul>
|
|
1121
|
+
|
|
1122
|
+
</div><table class="source_code">
|
|
1123
|
+
<tr>
|
|
1124
|
+
<td>
|
|
1125
|
+
<pre class="lines">
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
19
|
|
1129
|
+
20
|
|
1130
|
+
21</pre>
|
|
1131
|
+
</td>
|
|
1132
|
+
<td>
|
|
1133
|
+
<pre class="code"><span class="info file"># File 'lib/longleaf/indexing/index_manager.rb', line 19</span>
|
|
1134
|
+
|
|
1135
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_using_index?'>using_index?</span>
|
|
1136
|
+
<span class='op'>!</span><span class='ivar'>@index_driver</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
|
1137
|
+
<span class='kw'>end</span></pre>
|
|
1138
|
+
</td>
|
|
1139
|
+
</tr>
|
|
1140
|
+
</table>
|
|
1141
|
+
</div>
|
|
1142
|
+
|
|
1143
|
+
</div>
|
|
1144
|
+
|
|
1145
|
+
</div>
|
|
1146
|
+
|
|
1147
|
+
<div id="footer">
|
|
1148
|
+
Generated on Tue May 28 15:48:01 2019 by
|
|
1149
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
1150
|
+
0.9.19 (ruby-2.6.3).
|
|
1151
|
+
</div>
|
|
1152
|
+
|
|
1153
|
+
</div>
|
|
1154
|
+
</body>
|
|
1155
|
+
</html>
|