-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModelo.rb
More file actions
103 lines (68 loc) · 2.35 KB
/
Modelo.rb
File metadata and controls
103 lines (68 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
require "make_todo"
class Modelo
#Se registran los usuarios como si fuera "una tarea" en la cual al nombre se le manda el usuario y la contraseña
def registrar(registros)
Tarea.create( registros[:usuario]+ registros[:contraseña])
end
#se valida el usuario, devuelve true si encuentra un hash en el array de tareas con el nombre de usuario y contraseña ingresado
def validar(login)
@@validado = false
@@usuario = login[:usuario]
validador = login[:usuario] + login[:contraseña]
array = Tarea.all
array.each {|x| @@validado=true if x["title"] == validador }
@@validado
end
#para almacenar la tarea, se debe validar si ya existe o no, se debe utililzar un match porque en la base de datos las tareas estan con el nombre mas el nombre del usuario
#si la tarea no existe se crea la tarea con el nombre de la tarea y el nombre del usuario, para poder luego sacar las tareas correspondientes al usuario
def almacenar(nombre)
array = Tarea.all
@@existente = false
array.each{|x| @@existente = true if /#{nombre}/.match(x["title"])}
unless @@existente
Tarea.create("#{nombre} #{@@usuario}")
end
@@existente
end
#obtiene las tareas correspondientes a cada usuario para mostrarla en la vista, como en la base de datos el nombre de la tarea esta con el nombre mas el usuario
#se debe quitar el usuario para poder mostrar solo el nombre de la tarea
def obtener
array = Tarea.all
@@tareas = Array.new
array.each{|x| @@tareas.push(x) if /#{@@usuario}/.match(x["title"])}
@@tareas.each do |x|
string = x["title"].split
string.pop
x["title"] = string.join(" ")
end
#esto es para que no quede una tarea vacia al principio, la cual es la correspondiente login
@@tareas.shift
@@tareas
end
#valida si una tarea existe, si lo esta la elimina
def eliminar(id)
@@encontrada = false
array = Tarea.all
array.each{|x| @@encontrada = true if x["id"] == id.to_i}
if @@encontrada
Tarea.destroy(id)
end
@@encontrada
end
# si una tarea existe y esta desactualizada la actualiza pero si existe y esta actualizada no lo hace
def actualizar(id)
@@encontrada1 = false
@@actualizada = false
array = Tarea.all
array.each do |x|
if x["id"] == id.to_i && x["done"] == true
@@encontrada1 =true
@@actualizada= true
elsif x["id"] == id.to_i && x["done"] == false
Tarea.update(id)
@@encontrada1 = true
end
end
return @@encontrada1,@@actualizada
end
end