Class: Faussaire::Piraterie

Inherits:
Object
  • Object
show all
Defined in:
lib/faussaire/piraterie.rb

Constant Summary collapse

DATA_PATH =
File.expand_path('../../../locale/fr.yml', __FILE__)

Class Method Summary collapse

Class Method Details

.excuseString

Produces a random excuse for not delivering a project or being absent.

Examples:

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 ?"

Returns:

  • (String)


76
77
78
# File 'lib/faussaire/piraterie.rb', line 76

def self.excuse
  fetch('fr.faussaire.piraterie.excuse')
end

.fetch(key) ⇒ Object?

Fetches and samples data based on the provided key. If the fetched data is an array, it samples a single item, otherwise returns the data directly.

Parameters:

  • key (String)

    The dot-separated key used to access the data.

Returns:

  • (Object, nil)

    The data fetched and optionally sampled.



14
15
16
17
18
# File 'lib/faussaire/piraterie.rb', line 14

def self.fetch(key)
  data = YAML.load_file(DATA_PATH)
  result = data.dig(*key.split('.'))
  result.is_a?(Array) ? result.sample : result
end

Produces a random pirate boat type.

Examples:

Faussaire::Piraterie.nav #=> "Frégate"

Returns:

  • (String)


52
53
54
# File 'lib/faussaire/piraterie.rb', line 52

def self.nav
  fetch('fr.faussaire.piraterie.nav')
end

.pnjString

Produces a random pirate-themed status not used in the Hacking Project.

Examples:

Faussaire::Piraterie.pnj #=> "Siresse"

Returns:

  • (String)


40
41
42
# File 'lib/faussaire/piraterie.rb', line 40

def self.pnj
  fetch('fr.faussaire.piraterie.pnj')
end

.potinString

Produces a random made-up gossip about The Hacking Project experience.

Examples:

Faussaire::Piraterie.potin #=> "Il paraît qu’un moussaillon préfère naviguer en eaux troubles avec des commits non testés !"

Returns:

  • (String)


88
89
90
# File 'lib/faussaire/piraterie.rb', line 88

def self.potin
  fetch('fr.faussaire.piraterie.potin')
end

.rageString

Produces a random pirate swearing.

Examples:

Faussaire::Piraterie.rage #=> "Mille millions de mille sabords !"

Returns:

  • (String)


64
65
66
# File 'lib/faussaire/piraterie.rb', line 64

def self.rage
  fetch('fr.faussaire.piraterie.rage')
end

.roleString

Produces a random The Hacking Project learner status.

Examples:

Faussaire::Piraterie.role #=> "Moussaillon"

Returns:

  • (String)


28
29
30
# File 'lib/faussaire/piraterie.rb', line 28

def self.role
  fetch('fr.faussaire.piraterie.role')
end