<commit_before># PHP Tempmail Buster

[![Latest Version on Packagist][ico-version]][link-packagist]
[![Software License][ico-license]](LICENSE.md)
[![Total Downloads][ico-downloads]][link-downloads]

Расширяемый класс для блокировки E-mail адресов определённых доменов или организации белого списка допустимых доменов.
Реализует лоадер для загрузки и валидации по списку из [Anti Tempmail Repo](https://github.com/elyby/anti-tempmail-repo).

## Установка

Install the latest version with

```sh
$ composer require ely/php-tempmailbuster
```

## Использование

Пример использования с применением стандартного лоадера:

```php
use Ely\TempMailBuster\Loader\AntiTempmailRepo;
use Ely\TempMailBuster\Storage;
use Ely\TempMailBuster\Validator;

// Создаём класс лоадера
$loader = new AntiTempmailRepo();
// Загружаем из него данные и передаём их в объект хранилища
$storage = new Storage($loader->load();
// или используем статичный метод для работы с лоадерами
$storage = Storage::fromLoader($loader);
// Создаём класс-валидатор
$validator = new Validator($storage);
$validator->validate('<EMAIL>'); // = true
$validator->validate('<EMAIL>'); // = false

// Включаем режим белого списка
$validator->whitelistMode();
$validator->validate('<EMAIL>'); // = false
$validator->validate('<EMAIL>'); // = true
```

Конструктор принимает 2 аргумента: первичное и вторичное хранилище. Первичное хранилище работает в соответствии с
выбранным режимом работы библиотеки, а вторичное (если указано) позволяет добавить исключение из правил. Смотрите
больше примеров вызова метода `validate()` в [тестах](tests/ValidatorTest.php).

## Change log

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

## Contributing

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

## Credits

This package was designed and developed within the [Ely.by](http://ely.by) project team. We also thank all the
[contributors](link-contributors) for their help.

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

[ico-version]: https://img.shields.io/packagist/v/ely/php-tempmailbuster.svg?style=flat-square
[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square
[ico-downloads]: https://img.shields.io/packagist/dt/ely/php-tempmailbuster.svg?style=flat-square

[link-author]: https://github.com/ErickSkrauch
[link-contributors]: ../../contributors
<commit_msg>Fixed trendy shields<commit_after># PHP Tempmail Buster

[![Latest Version on Packagist][ico-version]][link-packagist]
[![Software License][ico-license]](LICENSE.md)
[![Total Downloads][ico-downloads]][link-downloads]

Расширяемый класс для блокировки E-mail адресов определённых доменов или организации белого списка допустимых доменов.
Реализует лоадер для загрузки и валидации по списку из [Anti Tempmail Repo](https://github.com/elyby/anti-tempmail-repo).

## Установка

Install the latest version with

```sh
$ composer require ely/php-tempmailbuster
```

## Использование

Пример использования с применением стандартного лоадера:

```php
use Ely\TempMailBuster\Loader\AntiTempmailRepo;
use Ely\TempMailBuster\Storage;
use Ely\TempMailBuster\Validator;

// Создаём класс лоадера
$loader = new AntiTempmailRepo();
// Загружаем из него данные и передаём их в объект хранилища
$storage = new Storage($loader->load();
// или используем статичный метод для работы с лоадерами
$storage = Storage::fromLoader($loader);
// Создаём класс-валидатор
$validator = new Validator($storage);
$validator->validate('<EMAIL>'); // = true
$validator->validate('<EMAIL>'); // = false

// Включаем режим белого списка
$validator->whitelistMode();
$validator->validate('<EMAIL>'); // = false
$validator->validate('<EMAIL>'); // = true
```

Конструктор принимает 2 аргумента: первичное и вторичное хранилище. Первичное хранилище работает в соответствии с
выбранным режимом работы библиотеки, а вторичное (если указано) позволяет добавить исключение из правил. Смотрите
больше примеров вызова метода `validate()` в [тестах](tests/ValidatorTest.php).

## Change log

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

## Contributing

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

## Credits

This package was designed and developed within the [Ely.by](http://ely.by) project team. We also thank all the
[contributors](link-contributors) for their help.

## License

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

[ico-version]: https://img.shields.io/packagist/v/ely/php-tempmailbuster.svg?style=flat-square
[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square
[ico-downloads]: https://img.shields.io/packagist/dt/ely/php-tempmailbuster.svg?style=flat-square

[link-packagist]: https://packagist.org/packages/ely/php-tempmailbuster
[link-author]: https://github.com/ErickSkrauch
[link-contributors]: ../../contributors
[link-downloads]: https://packagist.org/packages/ely/php-tempmailbuster

{'fraction_non_alphanumeric': 0.12914762567057422, 'fraction_numerical': 0.00039737730975561295, 'mean_word_length': 5.632411067193676, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 23, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 9, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6998694', 'n_tokens_mistral': 1792, 'n_tokens_neox': 1918, 'n_words': 416}