Usando Rack::Session::Datamapper
-
21-09-2019 - |
Pergunta
mkristgan rack_datamapper gem diz que "pode ser embalado para ser usado em um ambiente específico, ou seja,Rack::Sessão::Datamapper".
Infelizmente, ainda não sei o suficiente sobre Ruby para realizar esta tarefa – Módulos/Classes em Ruby ainda estão acima da minha cabeça (vindos do PHP).
Alguém pode oferecer assistência com o uso de rack_datamapper para implementar Rack::Session::Datamapper?
Você provavelmente não quer fazer isso de qualquer maneira.
A resposta abaixo é ótima, mas após uma análise mais detalhada, percebi que não deveria fazer isso de qualquer maneira.Em vez disso, estou colocando o user_id, o ip e o primeiro nome (por conveniência) em um cookie e protegendo-o.
Solução
Esta jóia deve ajudar:
No Sinatra basta adicionar:
use Rack::Session::Moneta,
store: Moneta.new(:DataMapper, setup: (ENV['DATABASE_URL'] || "sqlite://#{Dir.pwd}/development.db"))
E use session[]
objeto à vontade.