Class: PHPSession
- Inherits:
-
Object
show all
- Defined in:
- lib/php_session.rb,
lib/php_session/decoder.rb,
lib/php_session/encoder.rb,
lib/php_session/version.rb,
lib/php_session/store_engine/file.rb
Defined Under Namespace
Modules: StoreEngine
Classes: Decoder, Encoder, Errors
Constant Summary
collapse
- VERSION =
"0.4.1"
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(option = {}) ⇒ PHPSession
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/php_session.rb', line 23
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
|
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data.
9
10
11
|
# File 'lib/php_session.rb', line 9
def data
@data
end
|
Class Method Details
.register_store_engine(engine_name, klass) ⇒ Object
11
12
13
14
|
# File 'lib/php_session.rb', line 11
def self.register_store_engine(engine_name, klass)
@engines ||= {}
@engines[engine_name] = klass
end
|
.store_engine_class_of(engine_name) ⇒ Object
16
17
18
19
20
21
|
# File 'lib/php_session.rb', line 16
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
|
Instance Method Details
#destroy(session_id) ⇒ Object
43
44
45
|
# File 'lib/php_session.rb', line 43
def destroy(session_id)
@store_engine.destroy(session_id)
end
|
#exists?(session_id) ⇒ Boolean
52
53
54
|
# File 'lib/php_session.rb', line 52
def exists?(session_id)
@store_engine.exists?(session_id)
end
|
#load(session_id) ⇒ Object
38
39
40
41
|
# File 'lib/php_session.rb', line 38
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) ⇒ Object
47
48
49
50
|
# File 'lib/php_session.rb', line 47
def save(session_id, data)
serialized_session = Encoder.encode(data, @option[:external_encoding], @option[:encoding_option])
@store_engine.save(session_id, serialized_session)
end
|