Sha256: 60011930765f8764dd71e1d8c0260ae3336ede94a16ea316e91c804e99b11218

Contents?: true

Size: 803 Bytes

Versions: 52

Compression:

Stored size: 803 Bytes

Contents

using System.ComponentModel.DataAnnotations;
using Newtonsoft.Json;

namespace Generators.Input
{
    public class CanonicalDataParser
    {
        private readonly CanonicalDataFile _canonicalDataFile;

        public CanonicalDataParser(CanonicalDataOptions options)
        {
            _canonicalDataFile = new CanonicalDataFile(options);
            _canonicalDataFile.DownloadData();
        }

        public CanonicalData Parse(Exercise exercise)
        {
            var canonicalDataJson = _canonicalDataFile.Contents(exercise.Name);
            var canonicalData = JsonConvert.DeserializeObject<CanonicalData>(canonicalDataJson);
            
            Validator.ValidateObject(canonicalData, new ValidationContext(canonicalData));

            return canonicalData;
        }
    }
}

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
trackler-2.2.1.44 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.43 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.42 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.41 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.40 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.39 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.38 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.37 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.36 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.35 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.34 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.33 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.32 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.31 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.30 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.29 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.28 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.27 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.26 tracks/csharp/generators/Input/CanonicalDataParser.cs
trackler-2.2.1.25 tracks/csharp/generators/Input/CanonicalDataParser.cs