Sha256: b10fb28907a586ceaae2a85eb3bea943001ac443df6f94f7eaa56ccaaa6f3687
Contents?: true
Size: 1.18 KB
Versions: 28
Compression:
Stored size: 1.18 KB
Contents
using Newtonsoft.Json.Linq; namespace Generators.Input { public class CanonicalDataParser { private readonly CanonicalDataFile _canonicalDataFile; public CanonicalDataParser(CanonicalDataFile canonicalDataFile) => _canonicalDataFile = canonicalDataFile; public CanonicalData Parse(string exercise) { var canonicalDataJsonContents = _canonicalDataFile.Contents(exercise); var canonicalDataJson = JObject.Parse(canonicalDataJsonContents); var name = ParseName(canonicalDataJson); var version = ParseVersion(canonicalDataJson); var canonicalDataCases = ParseCanonicalDataCases(canonicalDataJson); return new CanonicalData(name, version, canonicalDataCases); } private static string ParseName(JToken canonicalDataJObject) => canonicalDataJObject.Value<string>("exercise"); private static string ParseVersion(JToken canonicalDataJObject) => canonicalDataJObject.Value<string>("version"); private static CanonicalDataCase[] ParseCanonicalDataCases(JObject canonicalDataJObject) => CanonicalDataCaseParser.Parse((JArray)canonicalDataJObject["cases"]); } }
Version data entries
28 entries across 28 versions & 1 rubygems