Class: PHPSession::Encoder
- Inherits:
-
Object
- Object
- PHPSession::Encoder
- Defined in:
- lib/php_session/encoder.rb
Defined Under Namespace
Classes: ArraySerializer, BooleanSerializer, FloatSerializer, HashSerializer, IntegerSerializer, NilSerializer, Serializer, StringSerializer, StructSerializer
Instance Attribute Summary collapse
-
#encoding ⇒ Object
readonly
Returns the value of attribute encoding.
-
#encoding_option ⇒ Object
readonly
Returns the value of attribute encoding_option.
Class Method Summary collapse
Instance Method Summary collapse
- #encode(hash) ⇒ Object
-
#initialize(encoding, encoding_option) ⇒ Encoder
constructor
A new instance of Encoder.
- #serialize(value) ⇒ Object
Constructor Details
#initialize(encoding, encoding_option) ⇒ Encoder
Returns a new instance of Encoder.
10 11 12 13 |
# File 'lib/php_session/encoder.rb', line 10 def initialize(encoding, encoding_option) @encoding = encoding @encoding_option = encoding_option end |
Instance Attribute Details
#encoding ⇒ Object (readonly)
Returns the value of attribute encoding.
4 5 6 |
# File 'lib/php_session/encoder.rb', line 4 def encoding @encoding end |
#encoding_option ⇒ Object (readonly)
Returns the value of attribute encoding_option.
4 5 6 |
# File 'lib/php_session/encoder.rb', line 4 def encoding_option @encoding_option end |
Class Method Details
.encode(hash, encoding = nil, encoding_option = {}) ⇒ Object
5 6 7 8 |
# File 'lib/php_session/encoder.rb', line 5 def self.encode(hash, encoding = nil, encoding_option = {}) encoding = Encoding.default_external if encoding.nil? self.new(encoding, encoding_option).encode(hash) end |
Instance Method Details
#encode(hash) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/php_session/encoder.rb', line 15 def encode(hash) serialized = hash.map do|k,v| "#{k.to_s}|#{serialize(v)}" end serialized.join end |
#serialize(value) ⇒ Object
22 23 24 |
# File 'lib/php_session/encoder.rb', line 22 def serialize(value) get_serializer(value.class).serialize(value) end |