El uso de rack :: :: Sesión DataMapper
-
21-09-2019 - |
Pregunta
rack_datamapper joya dice que "se puede envolver para ser utilizado en un environement específica, es decir, Estante :: :: Sesión DataMapper".
Por desgracia, no sé lo suficiente sobre Ruby para llevar a cabo esta tarea aún -Modules / Clases en Ruby se mantienen por encima de mi cabeza (que viene de PHP).
¿Alguien puede ofrecer ayuda con el uso de rack_datamapper para implementar rack :: :: Sesión DataMapper?
Es probable que no quiere hacer esto de todos modos.
La respuesta de abajo es grande, pero tras el examen más de cerca, me di cuenta de que no debería hacer de todos modos. En cambio, estoy colocando el user_id, IP y nombre (por conveniencia) en una cookie y lo protege.
Solución
Esta joya debería ayudar:
En Sinatra sólo tiene que añadir:
use Rack::Session::Moneta,
store: Moneta.new(:DataMapper, setup: (ENV['DATABASE_URL'] || "sqlite://#{Dir.pwd}/development.db"))
y objeto de uso session[]
a voluntad.