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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 714ee3f21dd5575ad01277d68a1ea579a30df7b291f179d668505c75f9bb3446
4
- data.tar.gz: 165a13bca8e97fd6a21b9a6f7d85186ffa37591ecf49587e8a080c42f02311b1
3
+ metadata.gz: 10949004df2064d24fc1b476d1d67e90d974e3d6e1c6ca9f052f43559b5df927
4
+ data.tar.gz: 339931417621ba4209cf2196e049527c5b32ee06f6b45dfe2a484710085b548b
5
5
  SHA512:
6
- metadata.gz: 9da106d7163b98fd9d1de4cf0e2e9f47bb3978a636ea0109e9d3c523e7ad260787d39737f43e6a48e8fc4893a76b14a7dc9dbe444205535a18265e084207f584
7
- data.tar.gz: a601ca5524c1f5a982fad60d24743a6fa462ca53598971ff73376da4580d6b082f7c66d8ec2e8bcb16e4d91f78da60f93b11d77f7113867dec197adb59ab9b13
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
- - Publishing attempt
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
+ [![Gem Version](https://badge.fury.io/rb/faussaire.svg)](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
- Quand on aime ce qu’on fait, on aime rendre ça ludique.
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
- 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.
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> — <i>Brasseur de vent (phrases "corporate" dénuées de sens) et noms de marques françaises</i></summary>
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-use-faussaire)
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Faussaire
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.6"
5
5
  end
data/lib/faussaire.rb CHANGED
@@ -13,6 +13,7 @@ require_relative 'faussaire/gardinerie'
13
13
  require_relative 'faussaire/citation'
14
14
  require_relative 'faussaire/cosmos'
15
15
  require_relative 'faussaire/music'
16
+ require_relative 'faussaire/piraterie'
16
17
 
17
18
 
18
19
  module Faussaire