Class: Compte

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/Hashiparmentier/Core/Compte.rb

Overview

Auteur

Brabant Mano

Version

0.1

Date

09/04/2020

Cette classe représente les comptes utilisateurs

Constant Summary collapse

COMPTE_DEFAULT =

Le compte par defaut

"_DEFAULT"

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pseudo) ⇒ Compte

:nodoc:



61
62
63
64
65
66
67
68
69
70
# File 'lib/Hashiparmentier/Core/Compte.rb', line 61

def initialize(pseudo)

  super(:name => pseudo)
  @pseudo = pseudo
  self.sauvegarder()
  if(pseudo != COMPTE_DEFAULT)
    initialiseSauvegarde()
  end

end

Instance Attribute Details

#pseudoObject (readonly)

Returns the value of attribute pseudo.



23
24
25
# File 'lib/Hashiparmentier/Core/Compte.rb', line 23

def pseudo
  @pseudo
end

Class Method Details

.creer(pseudo) ⇒ Object

Ce constructeur permet de créer un nouveau compte

param
  • pseudo Le pseudo du compte (Il doit être different de COMPTE_DEFAULT)



50
51
52
53
54
55
56
57
58
# File 'lib/Hashiparmentier/Core/Compte.rb', line 50

def Compte.creer(pseudo)

  if(pseudo == COMPTE_DEFAULT)
    raise(pseudo + " : Ce nom n'est pas disponible")
  end
  puts "Création du compte #{pseudo}"
  new(pseudo)

end

.majObject

Cette méthode de créer le compte par defaut dont-les sauvegardes vont-être utilisées par les nouveaux comptes



36
37
38
39
40
41
42
43
44
# File 'lib/Hashiparmentier/Core/Compte.rb', line 36

def Compte.maj()

  Sauvegarde.razAllSauvegarde()
  Compte.razAllCompte()
  default = new(COMPTE_DEFAULT)
  grilles = Grille.chargerGrilles("../NouvellesGrilles")
  Sauvegarde.creerAll(default, grilles)

end

.razAllCompteObject

Cette méthode permet de supprimer tous les comptes de la base de donnée



29
30
31
# File 'lib/Hashiparmentier/Core/Compte.rb', line 29

def Compte.razAllCompte()
  Compte.delete_all()
end

.recuperer(pseudo) ⇒ Object

Cette méthode permet de récuperer un compte dans la base de données

param
  • pseudo Le pseudo du compte

return
  • Le compte s’il existe

  • raiseException Si le compte n’existe pas



91
92
93
94
95
96
97
98
99
100
# File 'lib/Hashiparmentier/Core/Compte.rb', line 91

def Compte.recuperer(pseudo)

  compte = Compte.find_by(name: pseudo);
  if(compte == nil)
    raise("Le compte " + pseudo + " n'existe pas")
  else
    return compte
  end

end

.recuperer_ou_creer(pseudo) ⇒ Object

Cette méthode permet de récuperer un compte dans la base de données ou de lcréer s’il n’existe pas

param
  • pseudo Le pseudo du compte

return
  • Le compte récupéré ou crée



108
109
110
111
112
113
114
115
116
117
# File 'lib/Hashiparmentier/Core/Compte.rb', line 108

def Compte.recuperer_ou_creer(pseudo)

  compte = Compte.find_by(name: pseudo);
  if(compte == nil)
    Compte.creer(pseudo)
  else
    return compte
  end

end

Instance Method Details

#initialiseSauvegardeObject

Cette méthode permet de récuperer toutes les grilles du compte par default dans la base



75
76
77
78
79
80
81
82
# File 'lib/Hashiparmentier/Core/Compte.rb', line 75

def initialiseSauvegarde()

  sauvegardes = Sauvegarde.listeCompte(Compte.recuperer(COMPTE_DEFAULT))
  sauvegardes.each do |s|
    Sauvegarde.creer(self, s.getGrille()).sauvegarder()
  end

end

#sauvegarderObject

Cette méthode permet de sauvegarder le compte

return
  • true Si la sauvegarde a bien été réalisée

  • false sinon



124
125
126
127
128
129
# File 'lib/Hashiparmentier/Core/Compte.rb', line 124

def sauvegarder()

  self.name = @pseudo
  return self.save();

end

#to_sObject

Cette méthode permet d’afficher un compte



133
134
135
# File 'lib/Hashiparmentier/Core/Compte.rb', line 133

def to_s
    return "<Compte> '#{@pseudo}'"
end