commons-integrity
Usage
Installation
Add to the Gemfile dependencies for a proto-commons- repository:
gem 'commons-integrity', :github => 'everypolitician/commons-integrity'
Configuration
Each check you wish to run within your project should be listed in a
configuration file (by default .integrity.yml in the project's root
directory, though this can also be specified separately.)
This will usually specify which file(s) to run against, and any options specific to that individual check.
For example:
WikidataIdentifiers:
AppliesTo: 'boundaries/**/*.csv'
column_name: 'WIKIDATA'
column_case: 'fixed'Orchestration
Currently you need to create your own script to run this, and choose how to display the errors. We plan to make both of these much simpler.
An example bin/check could do something like:
require 'commons/integrity'
root = Pathname.new(ARGV.first || '.')
files = Pathname.glob(root + '**/*')
errors = files.map { |file| Commons::Integrity::Report.new(file: file).errors }
puts errorsCreating new Checks
Add new checks in lib/commons/integrity/check/ such that they look
like existing checks.
Each should inherit from Commons::Integrity::Check::Base and supply
its own errors method.
Documentation for the Check should be added in YARD format.