Jeena Paradies: (RUBY) Temp. Verzeichnis für Session-Dateien ändern

Hallo,

Ich habe das Problem, dass ich nun schon seit Tagen versuche das Temp.-Verzeichnis für Session-Dateien (Ruby) von /tmp, was Default ist, nach /home/username/appname/session zu ändern, leider ohne Erfolg. Entweder ist die Dokumentation undeutlich geschrieben, ich gehe falsch an das Problem heran, oder ich bin einfach zu dämlich dafür ^^. Hier die zwei Links zur Doku, die ich denke die richtigen sind:

CGI::Session und CGI::Session::FileStore
Was ich bisher versucht habe ist folgendes:

require "cgi"
require "cgi/session"
session = CGI::Session.new(CGI.new, )

Das Temp.-Verzeichnis wird aber leider nicht geändert sondern die Dateien werden weiterhin in /tmp gespeichert. Vielleicht hat ja jemand Lust zu gucken was ich da falsch mache?

Jeena

--
Gentoo Serveruhrzeit automatisch einstellen | Jlog | Gourmetica Mentiri
  1. Hi Jeena,

    Ruby habe ich noch nie programmiert, aber schauen wir doch mal ;-)

    CGI::Session

    Dort steht:

    Public Class methods
        new(request, option={})

    request is an instance of the CGI class (see cgi.rb).
      option is a hash of options for initialising this CGI::Session instance.
      [...]
      option is also passed on to the session storage class initialiser;
      see the documentation for each session storage class for the options they support.

    Du du keinen spezifischen Storing-Mechanismus wählst, ist also FileStore der Default, auf CGI::Session::FileStore steht:

    Public Class methods
        new(session, option={})

    option is a hash of options for the initialiser. The following options are recognised:

    tmpdir:
        the directory to use for storing the FileStore file. Defaults to Dir::tmpdir
        (generally "/tmp" on Unix systems).

    session = CGI::Session.new(CGI.new, )

    Und wie genau bist du da jetzt auf die Idee genommen, temp statt tmpdir zu verwenden? ;-)

    Viele Grüße,
      ~ Dennis.

    1. Hallo,

      session = CGI::Session.new(CGI.new, )
      Und wie genau bist du da jetzt auf die Idee genommen, temp statt tmpdir zu verwenden? ;-)

      Sorry hab es nur hier falsch geschrieben, im richtigen code ist es (leider) richtig geschrieben.

      Jeena

      --
      Gentoo Serveruhrzeit automatisch einstellen | Jlog | Gourmetica Mentiri
      1. Hi Jeena,

        Sorry hab es nur hier falsch geschrieben, im richtigen code ist es (leider) richtig geschrieben.

        Ok, wäre ja auch zu einfach gewesen ;-) Dann würde ich mal im Quellcode des entsprechenden Moduls mich auf die Suche nach einem Bug machen *g*

        Ich könnte mir z.B. vorstellen, dass CGI:Session:FileStore einfach bedingungslos den Wert aus Dir::tmpdir und da einfach vergessen wurde, den Parameter tmpdir abzufragen, oder ihm eine höhere Priorität als dem Default zu geben.

        Als Workaround: Ist es möglich Dir::tmpdir auf einen anderen Wert zu setzen? Vielleicht kommst du auf die Art und Weise ja zum Erfolg.

        Viele Grüße,
          ~ Dennis.