Сеанс обычно представляет собой комбинацию файла cookie (файл cookie сеанса) или некоторого идентификатора сеанса, прикрепленного к URL-адресу, который имеет некоторую уникальную идентификацию текущего «сеанса» и способ сохранения данные на сервере и извлекать их, когда им присваивается идентификатор из файла cookie.
Таким образом, я бы установил cookie на основе, например, ip + Time.now.to_i
, а затем сохранил этот идентификатор и значения, которые я хочу установить, в базу данных или текстовый файл на жестком диске. Обратите внимание, что, вероятно, есть гораздо лучшие способы создания уникального идентификатора, но в первую очередь стремитесь к простым вещам. :)
Я также рекомендую вам взглянуть на CGI::Session
, который вам требуется с require 'cgi/session'
.