Data-Liberation-Front / csvlint.rb

The gem behind http://csvlint.io
MIT License
287 stars 88 forks source link

Support newer JSON table schema for schemas #189

Open pezholio opened 8 years ago

pezholio commented 8 years ago

The new version of JSON table schema has moved on quite a bit now, and now is much more fully featured than when we first built CSVlint. Crucially, we can also use our JSON Table Schema gem to do the schema validation part.

Need to make sure we keep backwards compatibility for the current schema format though.

quadrophobiac commented 7 years ago

There has been discussion within Octopub on including the most current version of JSON table schema (now called Table Schema) - see https://github.com/theodi/octopub/issues/205 - which makes this ticket a higher priority IMO

It seems most sensible to make the changes discussed in Octopub from this gem upwards given that it will yield knock on improvements to other apps, like CSVlint.io and Comma Chameleon.

@pezholio when you said

Need to make sure we keep backwards compatibility for the current schema format though. could you elaborate what you meant?

I think a refactoring of this gem is advised given that the developments with TableSchema necessitate some level of refactoring anyway. I'm basing that assumption on how this gem is currently utilised in other Toolbox applications (see https://github.com/theodi/octopub/issues/428). So I'm trying to break down the work involved: As I understand the codebase most of the table schema validation is contained within lib/csvlint/schema.rb - would you agree it makes more sense to now include https://github.com/frictionlessdata/tableschema-rb as a gem level dependency (apolz if my nomenclature is erroneous)