コード例 #1
0
        public SchedulesController()
        {
            var systemTime     = new SystemTime();
            var httpClient     = new HttpClient();
            var client         = new Client(httpClient);
            var scraper        = new Scraper(systemTime, client);
            var serializer     = new ScrapeResultSerializer();
            var pathBuilder    = new PathBuilder();
            var storageClient  = new StorageClient(systemTime, pathBuilder);
            var uniqueClient   = new UniqueClient(storageClient);
            var statusRecorder = new UploadStatusRecorder(storageClient, systemTime);

            _scrapeResultRecorder          = new ScrapeResultRecorder(scraper, serializer, storageClient, uniqueClient, statusRecorder);
            _throttledScrapeResultRecorder = new ThrottledScrapeResultRecorder(systemTime, _scrapeResultRecorder);
            var gtfsConverter      = new GtfsConverter();
            var gtfsCsvSerializer  = new GtfsCsvSerializer();
            var gtfsFeedSerializer = new GtfsFeedSerializer(gtfsCsvSerializer);

            _gtfsFeedArchiveRecord = new GtfsFeedArchiveRecorder(storageClient, uniqueClient, gtfsConverter, gtfsFeedSerializer, statusRecorder);
            var settingsService = new SettingsProvider();

            _settings = new Settings(settingsService);
        }
コード例 #2
0
 public ThrottledScrapeResultRecorder(ISystemTime systemTime, IScrapeResultRecorder innerRecorder)
 {
     _systemTime    = systemTime;
     _innerRecorder = innerRecorder;
 }