class PHPSession
Constants
- VERSION
Attributes
data[R]
Public Class Methods
new(option = {})
click to toggle source
# File lib/php_session.rb, line 22 def initialize(option = {}) default_option = { :store_engine => :file, :internal_encoding => Encoding.default_internal, :external_encoding => Encoding.default_external, :encoding_option => {}, } @option = default_option.merge(option) store_engine_class = self.class.store_engine_class_of(@option[:store_engine]) @store_engine = store_engine_class.new(@option) end
register_store_engine(engine_name, klass)
click to toggle source
# File lib/php_session.rb, line 10 def self.register_store_engine(engine_name, klass) @engines ||= {} @engines[engine_name] = klass end
store_engine_class_of(engine_name)
click to toggle source
# File lib/php_session.rb, line 15 def self.store_engine_class_of(engine_name) store_engine = @engines[engine_name] raise PHPSession::Errors, "unknown sotre engine: #{engine_name}" unless store_engine store_engine end
Public Instance Methods
destroy(session_id)
click to toggle source
# File lib/php_session.rb, line 42 def destroy(session_id) @store_engine.destroy(session_id) end
exists?(session_id)
click to toggle source
# File lib/php_session.rb, line 51 def exists?(session_id) @store_engine.exists?(session_id) end
load(session_id)
click to toggle source
# File lib/php_session.rb, line 37 def load(session_id) serialized_session = @store_engine.load(session_id) Decoder.decode(serialized_session, @option[:internal_encoding], @option[:encoding_option]) || {} end
save(session_id, data)
click to toggle source
# File lib/php_session.rb, line 46 def save(session_id, data) serialized_session = Encoder.encode(data, @option[:external_encoding], @option[:encoding_option]) @store_engine.save(session_id, serialized_session) end