# frozen_string_literal: true require 'net/imap' require 'rack-flash' require 'sinatra/base' require 'sinatra_warden' require_relative '../warden/imap' require_relative 'models/usuaria' module Sutty # Login class Login < Sinatra::Base use Rack::Flash register Sinatra::Warden enable :sessions enable :logging enable :auth_use_referrer # Configura Warden para usar la estrategia IMAP y obtener la cuenta # de usuaria a partir de la cookie. use Warden::Manager do |config| config.default_scope = :user config.scope_defaults :user, strategies: [:imap] config.serialize_into_session(&:username) config.serialize_from_session { |u| Usuaria.find(u) } config.failure_app = self end set :root, File.expand_path(File.join(File.dirname(__FILE__), '..', '..')) end end