Class: Sauvegarde
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Sauvegarde
- Defined in:
- lib/Hashiparmentier/Core/Sauvegarde.rb
Overview
- Auteur
-
Brabant Mano
- Version
-
0.1
- Date
-
09/04/2020
Cette classe permet de sauvegarder dans une base de données la progression d’un joueur sur une grille et de faire des recherches sur les sauvegardes
Class Method Summary collapse
-
.creer(compte, grille) ⇒ Object
- Cette méthode permet de creer une grille pour un compte param
- compte Le compte auquel la sauvegarde est lié * grille La grille auquel la sauvegarde est lié return
-
raiseException Si le compte possède déjà une sauvegarde de cette grille.
-
-
.creerAll(compte, grilles) ⇒ Object
- Cette méthode permet de créer un sauvegarde pour un ensemble de grille param
-
compte Le compte pour lequel on va créer les sauvegardes * grilles Un tableau qui contient les grilles à sauvegarder.
-
-
.liste(compte, taille, difficulte) ⇒ Object
- Cette méthode permet de connaitre les sauvegardes d’un joueur pour les grilles d’une certaine taille et d’une certaine difficulté param
- compte Le compte du joueur * taille La taille de la grille * difficulte La difficulte de la grille return
-
Le tableau des sauvegardes du compte de taille et difficulté données.
-
-
.listeCompte(compte) ⇒ Object
- Cette méthode permet de connaitre les sauvegardes d’un joueur param
- compte Le compte du joueur return
-
Le tableau des sauvegardes du compte.
-
-
.razAllSauvegarde ⇒ Object
Cette méthode permet de supprimer toutes les sauvegardes dans la base de donnée.
-
.recuperer(compte, grille) ⇒ Object
- Cette méthode permet de recupérer la sauvegarde d’un compte pour une grille param
- compte Le compte auquel la sauvegarde est lié * grille La grille auquel la sauvegarde est lié return
-
La sauvegarde si elle existe * nil Sinon.
-
Instance Method Summary collapse
-
#getGrille ⇒ Object
- Cette méthode permet de recupérer la grille de la sauvegarde return
-
La grille sauvegardé.
-
-
#getScore ⇒ Object
- Cette méthode permet de recupérer le meilleur score associé à la grille enregistré return
-
Le score de la sauvegarde.
-
-
#sauvegarder ⇒ Object
- Cette méthode permet d’enregistrer la sauvegarde return
-
true Si la sauvegarde est efféctué * false Sinon.
-
-
#setGrille(grille) ⇒ Object
- Cette méthode permet de modifier la grille enregistrée param
-
grille La nouvelle grille.
-
-
#setScore(score) ⇒ Object
- Cette méthode permet de modifier le meilleur score associé à la grille enregistré param
-
score Le nouveau score.
-
-
#to_s ⇒ Object
Cette méthode permet d’afficher une sauvegarde.
Class Method Details
.creer(compte, grille) ⇒ Object
Cette méthode permet de creer une grille pour un compte
- param
-
compte Le compte auquel la sauvegarde est lié
-
grille La grille auquel la sauvegarde est lié
- return
-
raiseException Si le compte possède déjà une sauvegarde de cette grille
57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 57 def Sauvegarde.creer(compte, grille) begin temp = Marshal.dump(grille).force_encoding("ISO-8859-1").encode("UTF-8") Marshal.load(temp) rescue temp = YAML.dump(grille) end new(:compte => compte, :grille => temp, :taille => grille.tailleX(), :difficulte => grille.difficulte(), :meilleurScore => 0) end |
.creerAll(compte, grilles) ⇒ Object
Cette méthode permet de créer un sauvegarde pour un ensemble de grille
- param
-
compte Le compte pour lequel on va créer les sauvegardes
-
grilles Un tableau qui contient les grilles à sauvegarder
39 40 41 42 43 44 45 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 39 def Sauvegarde.creerAll(compte, grilles) grilles.each do |g| Sauvegarde.creer(compte, g).sauvegarder() end end |
.liste(compte, taille, difficulte) ⇒ Object
Cette méthode permet de connaitre les sauvegardes d’un joueur pour les grilles d’une certaine taille et d’une certaine difficulté
- param
-
compte Le compte du joueur
-
taille La taille de la grille
-
difficulte La difficulte de la grille
- return
-
Le tableau des sauvegardes du compte de taille et difficulté données
107 108 109 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 107 def Sauvegarde.liste(compte, taille, difficulte) return Sauvegarde.where(compte: compte, taille: taille, difficulte: difficulte).to_a() end |
.listeCompte(compte) ⇒ Object
Cette méthode permet de connaitre les sauvegardes d’un joueur
- param
-
compte Le compte du joueur
- return
-
Le tableau des sauvegardes du compte
95 96 97 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 95 def Sauvegarde.listeCompte(compte) return Sauvegarde.where(compte: compte).to_a() end |
.razAllSauvegarde ⇒ Object
Cette méthode permet de supprimer toutes les sauvegardes dans la base de donnée
30 31 32 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 30 def Sauvegarde.razAllSauvegarde() Sauvegarde.delete_all() end |
.recuperer(compte, grille) ⇒ Object
Cette méthode permet de recupérer la sauvegarde d’un compte pour une grille
- param
-
compte Le compte auquel la sauvegarde est lié
-
grille La grille auquel la sauvegarde est lié
- return
-
La sauvegarde si elle existe
-
nil Sinon
77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 77 def Sauvegarde.recuperer(compte, grille) liste = Sauvegarde.listeCompte(compte) liste.each do |s| if(s.getGrille().memeSolution(grille)) return s end end return nil end |
Instance Method Details
#getGrille ⇒ Object
Cette méthode permet de recupérer la grille de la sauvegarde
- return
-
La grille sauvegardé
124 125 126 127 128 129 130 131 132 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 124 def getGrille() begin return Marshal.load(self.grille) rescue return YAML.load(self.grille) end end |
#getScore ⇒ Object
Cette méthode permet de recupérer le meilleur score associé à la grille enregistré
- return
-
Le score de la sauvegarde
155 156 157 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 155 def getScore() return self.meilleurScore end |
#sauvegarder ⇒ Object
Cette méthode permet d’enregistrer la sauvegarde
- return
-
true Si la sauvegarde est efféctué
-
false Sinon
116 117 118 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 116 def sauvegarder() return self.save() end |
#setGrille(grille) ⇒ Object
Cette méthode permet de modifier la grille enregistrée
- param
-
grille La nouvelle grille
138 139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 138 def setGrille(grille) begin #Active record peut enregistrer du TEXT avec UTF-8 uniquement temp = Marshal.dump(grille).force_encoding("ISO-8859-1").encode("UTF-8") #on force donc la chaine en UTF-8 Marshal.load(temp) #à condition que l'on puisse la recharger sans exception rescue temp = YAML.dump(grille) #Sinon on enregistre avec YAML qui est plus lent end self.grille = temp return self end |
#setScore(score) ⇒ Object
Cette méthode permet de modifier le meilleur score associé à la grille enregistré
- param
-
score Le nouveau score
163 164 165 166 167 168 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 163 def setScore(score) self.meilleurScore = score return self end |
#to_s ⇒ Object
Cette méthode permet d’afficher une sauvegarde
172 173 174 |
# File 'lib/Hashiparmentier/Core/Sauvegarde.rb', line 172 def to_s() return "#{self.compte} : #{self.getGrille()}" end |