Class: Doze::Serialization::Entity
- Inherits:
-
Entity
- Object
- Entity
- Doze::Serialization::Entity
show all
- Defined in:
- lib/doze/serialization/entity.rb
Defined Under Namespace
Classes: MultipartFormData, WWWFormEncoded
Constant Summary
Constants inherited
from Entity
Entity::DEFAULT_TEXT_ENCODING
Instance Attribute Summary
Attributes inherited from Entity
#binary_data_length, #encoding, #extra_content_headers, #language, #media_type, #media_type_params
Instance Method Summary
collapse
Methods inherited from Entity
#binary_data_stream, #etag
Constructor Details
#initialize(media_type, options = {}, &lazy_object_data) ⇒ Entity
Returns a new instance of Entity.
5
6
7
8
9
|
# File 'lib/doze/serialization/entity.rb', line 5
def initialize(media_type, options={}, &lazy_object_data)
super(media_type, options, &nil) @object_data = options[:object_data]
@lazy_object_data = lazy_object_data || options[:lazy_object_data]
end
|
Instance Method Details
#binary_data(try_serialize = true) ⇒ Object
20
21
22
23
24
|
# File 'lib/doze/serialization/entity.rb', line 20
def binary_data(try_serialize=true)
super() || if try_serialize
@binary_data = serialize(object_data(false))
end
end
|
#deserialize(binary_data) ⇒ Object
30
31
32
|
# File 'lib/doze/serialization/entity.rb', line 30
def deserialize(binary_data)
raise 'deserialize: not supported'
end
|
#object_data(try_deserialize = true) ⇒ Object
11
12
13
14
15
16
17
18
|
# File 'lib/doze/serialization/entity.rb', line 11
def object_data(try_deserialize=true)
@object_data ||= if @lazy_object_data
@lazy_object_data.call
elsif try_deserialize
data = binary_data(false)
data && deserialize(data)
end
end
|
#serialize(object_data) ⇒ Object
26
27
28
|
# File 'lib/doze/serialization/entity.rb', line 26
def serialize(object_data)
raise 'serialize: not supported'
end
|