faussaire 0.1.1 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -1
- data/README.md +43 -14
- data/lib/faussaire/piraterie.rb +92 -0
- data/lib/faussaire/version.rb +1 -1
- data/lib/faussaire.rb +1 -0
- data/locale/fr.yml +346 -193
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10949004df2064d24fc1b476d1d67e90d974e3d6e1c6ca9f052f43559b5df927
|
4
|
+
data.tar.gz: 339931417621ba4209cf2196e049527c5b32ee06f6b45dfe2a484710085b548b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec73a9995b830915146b96f138e4a33a0fa8cd1d9c17b31c896e1d609cac83801b12367b7e4088c9680fa69bbcb2c1339388f4879a44c4f36bfcc5684781542a
|
7
|
+
data.tar.gz: 37897880c2a212ac0f99543ec8166471c6bcfe575328017b033b1dc1d8b4fe92a741f93450c5ee7ec73f4fcd59d1797f2163b489820cdd69cdb71aae5dfd8bb7
|
data/CHANGELOG.md
CHANGED
@@ -4,8 +4,36 @@
|
|
4
4
|
|
5
5
|
- Initial release
|
6
6
|
|
7
|
+
## [RELEASED]
|
8
|
+
|
9
|
+
## [0.1.1] - 2024-09-28
|
10
|
+
|
11
|
+
- First live version
|
12
|
+
|
13
|
+
## [0.1.4] - 2024-10-27
|
14
|
+
|
7
15
|
## [Unreleased]
|
8
16
|
|
17
|
+
## [0.1.0] - 2023-12-25
|
18
|
+
- Initial release
|
19
|
+
|
20
|
+
## [RELEASED]
|
21
|
+
|
9
22
|
## [0.1.1] - 2024-09-28
|
23
|
+
- First live version
|
24
|
+
|
25
|
+
## [0.1.6] - 2024-10-27
|
26
|
+
### Added
|
27
|
+
- **New `Faussaire::Piraterie` Methods**:
|
28
|
+
- `role`: Generates a learner status inspired by The Hacking Project.
|
29
|
+
- `pnj`: Provides a pirate-themed character title.
|
30
|
+
- `nav`: Outputs a random pirate ship type.
|
31
|
+
- `rage`: Produces pirate-themed swearing expressions.
|
32
|
+
- `excuse`: Generates excuses for project delays or absences.
|
33
|
+
- `potin`: Creates gossipy anecdotes about bootcamp life.
|
10
34
|
|
11
|
-
|
35
|
+
### Enhancements
|
36
|
+
- Improved spec coverage:
|
37
|
+
- Tests for duplicate values in YAML data.
|
38
|
+
- Format validation for data entries.
|
39
|
+
- Tests to confirm that each method returns a unique and expected value.
|
data/README.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
# FAUSSAIRE • Au revoir Lorem Ipsum
|
1
|
+
# FAUSSAIRE • Au revoir Lorem Ipsum
|
2
|
+
|
3
|
+
[](https://badge.fury.io/rb/faussaire)
|
2
4
|
|
3
5
|
### Des données authentiques, des apps réalistes, des seeds ludiques
|
4
6
|
|
@@ -29,17 +31,11 @@ Conçue pour fournir des données plus précises et moins génériques que [Fake
|
|
29
31
|
|
30
32
|
Nous avons pour projet de proposer une version grecque dans les mois à venir, et peut-être une version "globish".
|
31
33
|
|
32
|
-
|
33
|
-
|
34
|
-
Comme moi, ça a dû vous arriver.
|
35
|
-
|
36
|
-
Des phases de débogage interminables avec une base de données peuplée de Lorem Ipsum, ça devient vite lassant.
|
37
|
-
|
38
|
-
Et puis, comment tester cette REGEX sur le format des adresses françaises si les données de test n’ont pas de numéro de département à 3 chiffres ?
|
34
|
+
## Pourquoi utiliser Faussaire ?
|
39
35
|
|
40
|
-
|
36
|
+
Quand on aime ce qu’on fait, on aime rendre ça ludique.
|
41
37
|
|
42
|
-
La liste est interminable.
|
38
|
+
Comme moi, ça a dû vous arriver. Des phases de débogage interminables avec une base de données peuplée de Lorem Ipsum, ça devient vite lassant. Et puis, comment tester cette REGEX sur le format des adresses françaises si les données de test n’ont pas de numéro de département à 3 chiffres ? Mince, vous venez d’envoyer votre app en production, mais vous vous rendez compte qu’en excluant les caractères spéciaux, vous avez aussi empêché Stéphane de mettre un accent à son prénom. La liste est interminable.
|
43
39
|
|
44
40
|
Si comme moi, vous en avez marre de la standardisation à outrance et que vous voulez utiliser une librairie francophone, amusante et enrichissante, vous allez adorer Faussaire.
|
45
41
|
|
@@ -178,7 +174,7 @@ Faussaire::Address.full_address
|
|
178
174
|
</details>
|
179
175
|
|
180
176
|
<details>
|
181
|
-
<summary><strong>Faussaire::Bizness</strong
|
177
|
+
<summary><strong>Faussaire::Bizness</strong></summary>
|
182
178
|
|
183
179
|
Le module `Faussaire::Bizness` génère des noms de marques françaises et des phrases clichés du monde de l'entreprise.
|
184
180
|
|
@@ -331,6 +327,39 @@ Faussaire::Name.name
|
|
331
327
|
```
|
332
328
|
</details>
|
333
329
|
|
330
|
+
<details>
|
331
|
+
<summary><strong>Faussaire::Piraterie</strong></summary>
|
332
|
+
|
333
|
+
Le module `Faussaire::Piraterie` est un hommage à The Hacking Project (THP), le bootcamp français qui réinvente l'apprentissage du code grâce à l'entraide et à l'esprit d'équipe. Ce module permet de générer des données inspirés de l'univers de la formation et a été réalisé pour être utilisé dans le cadre de la formation.
|
334
|
+
|
335
|
+
```ruby
|
336
|
+
# Génère un rôle qu'un apprenant peut avoir chez THP.
|
337
|
+
Faussaire::Piraterie.role
|
338
|
+
# => "Moussaillon"
|
339
|
+
|
340
|
+
# Génère un statut thématique autour de la piraterie mais qui n'est pas (encore) utilisé chez THP.
|
341
|
+
Faussaire::Piraterie.pnj
|
342
|
+
# => "Siresse"
|
343
|
+
|
344
|
+
# Génère un type de navire pirate.
|
345
|
+
Faussaire::Piraterie.nav
|
346
|
+
# => "Frégate"
|
347
|
+
|
348
|
+
# Génère un juron de pirate.
|
349
|
+
Faussaire::Piraterie.rage
|
350
|
+
# => "Mille millions de mille sabords !"
|
351
|
+
|
352
|
+
# Génère une excuse aléatoire pour justifier une absence, un retard ou un projet non rendu.
|
353
|
+
Faussaire::Piraterie.excuse
|
354
|
+
# => "Les embruns de la mer de Frêche m'ont rendu un peu fébrile… ai-je droit à un peu de repos Capitaine ?"
|
355
|
+
|
356
|
+
# Génère un potin amusant sur l'expérience d'apprentissage à THP, idéal pour le fameux Gossip Project.
|
357
|
+
Faussaire::Piraterie.potin
|
358
|
+
# => "“Une bête de prime en crypto” : un corsaire influent promet une récompense au premier moussaillon qui contribue à la gem Faussaire. Des bruits de ponton racontent qu'un corsaire influent de la promo aurait mis en jeu une prime en crypto pour inciter les moussaillons à contribuer à la célèbre gem Faussaire. Vrai bonne affaire ou simple manigance ?"
|
359
|
+
```
|
360
|
+
</details>
|
361
|
+
|
362
|
+
|
334
363
|
<details>
|
335
364
|
<summary><strong>Faussaire::Tv</strong></summary>
|
336
365
|
|
@@ -456,7 +485,7 @@ Merci à toi camarade faussaire ! 🙂
|
|
456
485
|
|
457
486
|
<a name="English"></a>
|
458
487
|
|
459
|
-
# FAUSSAIRE • Goodbye Lorem Ipsum
|
488
|
+
# FAUSSAIRE • Goodbye Lorem Ipsum
|
460
489
|
|
461
490
|
### Authentic French Data for Realistic Apps & Fun Seeding
|
462
491
|
|
@@ -466,7 +495,7 @@ Designed to provide more accurate and less generic data than [Faker](https://git
|
|
466
495
|
|
467
496
|
## Table of Contents
|
468
497
|
|
469
|
-
- [Why Use Faussaire?](#why-
|
498
|
+
- [Why Should I Use Faussaire ?](#why-using-faussaire-)
|
470
499
|
- [Installation](#installation)
|
471
500
|
- [Usage](#usage)
|
472
501
|
- [Available Modules](#available-modules-in-faussaire)
|
@@ -901,4 +930,4 @@ Feel free to participate by submitting your pull requests:
|
|
901
930
|
- **Issues:** Provide as many details as possible about the problem encountered and how to reproduce it.
|
902
931
|
- **Pull Requests:** Check out [CONTRIBUTING.md](https://github.com/ikramagix/faussaire/blob/main/CONTRIBUTING.md).
|
903
932
|
|
904
|
-
Merci beaucoup, fellow faussaire! 🙂
|
933
|
+
Merci beaucoup, fellow faussaire! 🙂
|
@@ -0,0 +1,92 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
module Faussaire
|
4
|
+
class Piraterie
|
5
|
+
DATA_PATH = File.expand_path('../../../locale/fr.yml', __FILE__)
|
6
|
+
|
7
|
+
##
|
8
|
+
# Fetches and samples data based on the provided key. If the fetched data is an array,
|
9
|
+
# it samples a single item, otherwise returns the data directly.
|
10
|
+
#
|
11
|
+
# @param key [String] The dot-separated key used to access the data.
|
12
|
+
# @return [Object, nil] The data fetched and optionally sampled.
|
13
|
+
#
|
14
|
+
def self.fetch(key)
|
15
|
+
data = YAML.load_file(DATA_PATH)
|
16
|
+
result = data.dig(*key.split('.'))
|
17
|
+
result.is_a?(Array) ? result.sample : result
|
18
|
+
end
|
19
|
+
|
20
|
+
##
|
21
|
+
# Produces a random The Hacking Project learner status.
|
22
|
+
#
|
23
|
+
# @return [String]
|
24
|
+
#
|
25
|
+
# @example
|
26
|
+
# Faussaire::Piraterie.role #=> "Moussaillon"
|
27
|
+
#
|
28
|
+
def self.role
|
29
|
+
fetch('fr.faussaire.piraterie.role')
|
30
|
+
end
|
31
|
+
|
32
|
+
##
|
33
|
+
# Produces a random pirate-themed status not used in the Hacking Project.
|
34
|
+
#
|
35
|
+
# @return [String]
|
36
|
+
#
|
37
|
+
# @example
|
38
|
+
# Faussaire::Piraterie.pnj #=> "Siresse"
|
39
|
+
#
|
40
|
+
def self.pnj
|
41
|
+
fetch('fr.faussaire.piraterie.pnj')
|
42
|
+
end
|
43
|
+
|
44
|
+
##
|
45
|
+
# Produces a random pirate boat type.
|
46
|
+
#
|
47
|
+
# @return [String]
|
48
|
+
#
|
49
|
+
# @example
|
50
|
+
# Faussaire::Piraterie.nav #=> "Frégate"
|
51
|
+
#
|
52
|
+
def self.nav
|
53
|
+
fetch('fr.faussaire.piraterie.nav')
|
54
|
+
end
|
55
|
+
|
56
|
+
##
|
57
|
+
# Produces a random pirate swearing.
|
58
|
+
#
|
59
|
+
# @return [String]
|
60
|
+
#
|
61
|
+
# @example
|
62
|
+
# Faussaire::Piraterie.rage #=> "Mille millions de mille sabords !"
|
63
|
+
#
|
64
|
+
def self.rage
|
65
|
+
fetch('fr.faussaire.piraterie.rage')
|
66
|
+
end
|
67
|
+
|
68
|
+
##
|
69
|
+
# Produces a random excuse for not delivering a project or being absent.
|
70
|
+
#
|
71
|
+
# @return [String]
|
72
|
+
#
|
73
|
+
# @example
|
74
|
+
# Faussaire::Piraterie.excuse #=> "Les embruns de la mer de Frêche m'ont rendu un peu fébrile… ai-je droit à un peu de repos Capitaine ?"
|
75
|
+
#
|
76
|
+
def self.excuse
|
77
|
+
fetch('fr.faussaire.piraterie.excuse')
|
78
|
+
end
|
79
|
+
|
80
|
+
##
|
81
|
+
# Produces a random made-up gossip about The Hacking Project experience.
|
82
|
+
#
|
83
|
+
# @return [String]
|
84
|
+
#
|
85
|
+
# @example
|
86
|
+
# Faussaire::Piraterie.potin #=> "Il paraît qu’un moussaillon préfère naviguer en eaux troubles avec des commits non testés !"
|
87
|
+
#
|
88
|
+
def self.potin
|
89
|
+
fetch('fr.faussaire.piraterie.potin')
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
data/lib/faussaire/version.rb
CHANGED