OpenGeoMetadata / GeoCombine

A Ruby toolkit for managing geospatial metadata
https://github.com/OpenGeoMetadata/GeoCombine
Other
20 stars 23 forks source link

Refactor rake tasks into harvester and indexer classes #132

Closed thatbudakguy closed 1 year ago

thatbudakguy commented 1 year ago

This mostly moves logic out of rake tasks and into dedicated classes, which makes it easier to test. It also separates the harvesting portion from the indexing portion; this might make it easier to have the geoblacklight harvester inherit some of this behavior later. The denylist is one of the things the harvester class includes, which closes #119. I think the logic mentioned in #112 was already in place, so this closes #112 too.

It also adds logic to filter indexing based on your desired schema version (set SCHEMA_VERSION to Aardvark to index only aardvark records; the default is 1.0), which fixes #130.

I added a dependency on ruby-git to do the git pull/clone instead of just calling out to system(), which made things easier to test and might also allow for things to run on windows.