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 #133

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.

thatbudakguy commented 1 year ago

blocked by #134 and #135

eliotjordan commented 1 year ago

@thatbudakguy I merged #135. Try rebasing this branch against main.

thatbudakguy commented 1 year ago

rebased — rubocop is happy now, but I think we need #134 in order for this to pass

eliotjordan commented 1 year ago

@thatbudakguy Done. Try rebasing agagin.

thatbudakguy commented 1 year ago

ah, SimpleCov is (rightly) complaining that I didn't write any tests for the indexer! I'll do that...

thatbudakguy commented 1 year ago

all set now.