<commit_before>﻿using Foundatio.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Foundatio.Caching {
    public class ScopedCacheClient : ICacheClient {
        private readonly string _keyPrefix;

        public ScopedCacheClient(ICacheClient client, string scope) {
            UnscopedCache = client ?? new NullCacheClient();
            Scope = scope;

            _keyPrefix = scope != null ? String.Concat(scope, ":") : String.Empty;
        }

        public ICacheClient UnscopedCache { get; private set; }

        public string Scope { get; private set; }
<commit_msg>Nullify and trim scope<commit_after>﻿using Foundatio.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Foundatio.Caching {
    public class ScopedCacheClient : ICacheClient {
        private readonly string _keyPrefix;

        public ScopedCacheClient(ICacheClient client, string scope) {
            UnscopedCache = client ?? new NullCacheClient();
            Scope = !String.IsNullOrWhiteSpace(scope) ? scope.Trim() : null;

            _keyPrefix = Scope != null ? String.Concat(Scope, ":") : String.Empty;
        }

        public ICacheClient UnscopedCache { get; private set; }

        public string Scope { get; private set; }

{'fraction_non_alphanumeric': 0.08769344141488578, 'fraction_numerical': 0.0, 'mean_word_length': 3.1402439024390243, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4424759', 'n_tokens_mistral': 367, 'n_tokens_neox': 360, 'n_words': 101}