|
1 | | -_TODO_ |
| 1 | +  |
| 2 | + |
| 3 | +> [!NOTE] |
| 4 | +> |
| 5 | +> This README is also [available in english](README.md). |
| 6 | +
|
| 7 | +# siret_validator |
| 8 | + |
| 9 | +Cette gem fournit un validateur Rails pour les [numéros SIRET](https://entreprendre.service-public.fr/vosdroits/F32135) français. |
| 10 | + |
| 11 | +## Fonctionnalités |
| 12 | + |
| 13 | +* Validation du format SIRET (14 chiffres), |
| 14 | +* Validation du checksum des SIRET classiques (via la somme de Luhn), |
| 15 | +* Validation du checksum des SIRET de La Poste (via la formule de checksum alternative), |
| 16 | +* Messages d'erreur localisés clairs, |
| 17 | +* Support de messages d'erreur personnalisés. |
| 18 | + |
| 19 | +## Installation |
| 20 | + |
| 21 | +Installez la gem et ajoutez-la au Gemfile de l'application en exécutant : |
| 22 | + |
| 23 | +```bash |
| 24 | +bundle add siret_validator |
| 25 | +``` |
| 26 | + |
| 27 | +Si Bundler n'est pas utilisé pour gérer les dépendances, installez la gem en exécutant : |
| 28 | + |
| 29 | +```bash |
| 30 | +gem install siret_validator |
| 31 | +``` |
| 32 | + |
| 33 | +Vous pouvez également intégrer la gem directement en copiant le fichier `lib/siret_validator.rb` dans votre répertoire `app/validators`. |
| 34 | + |
| 35 | +## Utilisation |
| 36 | + |
| 37 | +### Avec ActiveRecord |
| 38 | + |
| 39 | +```ruby |
| 40 | +class TaxesFilling < ApplicationRecord |
| 41 | + validates :company_siret, siret: true |
| 42 | +end |
| 43 | +``` |
| 44 | + |
| 45 | +### Avec ActiveModel |
| 46 | + |
| 47 | +```ruby |
| 48 | +class TaxesFilling |
| 49 | + include ActiveModel::Validations |
| 50 | + attr_accessor :company_siret |
| 51 | + validates :company_siret, siret: true |
| 52 | +end |
| 53 | +``` |
| 54 | + |
| 55 | +## I18n |
| 56 | + |
| 57 | +Par défaut, le validateur SIRET peut émettre deux messages d'erreur distincts : |
| 58 | + |
| 59 | +* `:wrong_siret_format` – lorsque la valeur n'est pas une chaîne de 14 chiffres. |
| 60 | + |
| 61 | + _Le message est localisé via la clé i18n personnalisée `:wrong_siret_format`. Les locales française et anglaise sont incluses dans la gem._ |
| 62 | +* `:invalid` – lorsque le checksum du SIRET est invalide. |
| 63 | + |
| 64 | + _Le message est localisé via la clé i18n standard Rails `:invalid`._ |
| 65 | + |
| 66 | +## Développement |
| 67 | + |
| 68 | +Après avoir cloné le dépôt, exécutez `bin/setup` pour installer les dépendances. Ensuite, lancez `bundle exec rake test` pour exécuter les tests. |
| 69 | + |
| 70 | +Pour installer cette gem sur votre machine locale, exécutez `bundle exec rake install`. Pour publier une nouvelle version, mettez à jour le numéro de version dans `siret_validator.gemspec`, puis exécutez `bundle exec rake release`. Cela créera un tag Git pour la version, poussera les commits et le tag créé, et publiera le fichier `.gem` sur [rubygems.org](https://rubygems.org). |
| 71 | + |
| 72 | +## Contribuer |
| 73 | + |
| 74 | +Les rapports de bugs et les pull requests sont les bienvenus sur GitHub à l'adresse https://github.com/CodeursenLiberte/siret_validator. Ce projet se veut un espace sûr et accueillant pour la collaboration ; les contributeurs sont tenus de respecter le [code de conduite](https://github.com/CodeursenLiberte/siret_validator/blob/main/CODE_OF_CONDUCT.md). |
| 75 | + |
| 76 | +## Licence |
| 77 | + |
| 78 | +Cette gem est mise à disposition sous [licence MIT](https://opensource.org/licenses/MIT). |
| 79 | + |
| 80 | +## Code de conduite |
| 81 | + |
| 82 | +Toute personne interagissant dans la base de code, les issues, les salons de discussion et les listes de diffusion du projet SiretFormatValidator est tenue de respecter le [code de conduite](https://github.com/[USERNAME]/siret_validator/blob/main/CODE_OF_CONDUCT.md). |
0 commit comments