<commit_before>//
//  RGAppTools.swift
//  RGAppTools
//
//  Created by RAIN on 2016/12/5.
//  Copyright © 2016-2017 Smartech. All rights reserved.
//

import Foundation

public struct RGAppTools<Base> {
    public let base: Base

    public init(_ base: Base) {
        self.base = base
    }
}

public protocol RGAppToolsCompatible {
    associatedtype RATCompatibleType
    var rat: RATCompatibleType { get }
    static var rat: RATCompatibleType.Type { get }
}

public extension RGAppToolsCompatible {
    public var rat: RGAppTools<Self> {
        return RGAppTools(self)
    }

    public static var rat: RGAppTools<Self>.Type {
        return RGAppTools.self
    }
}

extension NSObject: RGAppToolsCompatible { }<commit_msg>feat (RGAppTools.swift) : update access limit<commit_after>//
//  RGAppTools.swift
//  RGAppTools
//
//  Created by RAIN on 2016/12/5.
//  Copyright © 2016-2017 Smartech. All rights reserved.
//

import Foundation

public struct RGAppTools<Base> {
    public let base: Base

    public init(_ base: Base) {
        self.base = base
    }
}

public protocol RGAppToolsCompatible {
    associatedtype RATCompatibleType
    var rat: RATCompatibleType { get }
    static var rat: RATCompatibleType.Type { get }
}

public extension RGAppToolsCompatible {
    var rat: RGAppTools<Self> {
        return RGAppTools(self)
    }

    static var rat: RGAppTools<Self>.Type {
        return RGAppTools.self
    }
}

extension NSObject: RGAppToolsCompatible { }
{'fraction_non_alphanumeric': 0.09054054054054055, 'fraction_numerical': 0.02027027027027027, 'mean_word_length': 2.9076517150395778, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, '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': '1869906', 'n_tokens_mistral': 515, 'n_tokens_neox': 461, 'n_words': 128}