exercism / v2-configlet

Tool to assist in managing Exercism language tracks.
MIT License
16 stars 23 forks source link

config: Only marshal Slug, UUID, Deprecated of deprecated exercises #169

Open petertseng opened 5 years ago

petertseng commented 5 years ago

We don't need any of the other fields, and it's deceptive to keep them in the JSON file because a maintainer may mistakenly believe them to be significant, but in fact they are not; the website does not display any of the removed fields: https://github.com/exercism/website/blob/b3314e84c52b52cf5f253386c3f0bf4127ca09aa/app/views/my/tracks/_show_side_exercises.html.haml#L26-L34

Two new tests were added: TestMarshalActive and TestMarshalDeprecated. TestMarshalActive passes both before and after the associated code change. TestMarshalDeprecated fails before the associated code change, and passes after.

Closes https://github.com/exercism/configlet/issues/140

petertseng commented 5 years ago

I'd also consider not marshaling unlocked_by for core: true exercises but notice that this is a fundamentally different problem. This PR says "only marshal a specific set of fields". Not marshaling unlocked_by for core is "don't marshal a specific set of fields" which is harder to deal with. I'm not interested in making this change in this PR.