Class: AvroPinions::Codec
- Inherits:
-
Object
- Object
- AvroPinions::Codec
show all
- Defined in:
- lib/avro_pinions/codec.rb
Defined Under Namespace
Classes: SingleObjectCodec
Constant Summary
collapse
- SUPPORTED_WIRE_FORMATS =
[:single_object]
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(schema) ⇒ Codec
Returns a new instance of Codec.
23
24
25
|
# File 'lib/avro_pinions/codec.rb', line 23
def initialize(schema)
@schema = schema
end
|
Instance Attribute Details
#schema ⇒ Object
Returns the value of attribute schema.
22
23
24
|
# File 'lib/avro_pinions/codec.rb', line 22
def schema
@schema
end
|
Class Method Details
.pedantic_data(data) ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/avro_pinions/codec.rb', line 6
def self.pedantic_data(data)
if data.respond_to?(:each_pair)
data.each_pair.inject({}) do |result, (k,v)|
strrep = v.to_s
result[k.to_s] = if strrep.to_sym == v
strrep
else
v
end
result
end
else
data
end
end
|
Instance Method Details
#encode(data) ⇒ Object
27
28
29
|
# File 'lib/avro_pinions/codec.rb', line 27
def encode(data)
self.send("encode_as_#{wire_format}", data)
end
|
#encode_as_single_object(data) ⇒ Object
35
36
37
38
|
# File 'lib/avro_pinions/codec.rb', line 35
def encode_as_single_object(data)
soc = SingleObjectCodec.new(schema)
soc.encode(self.class.pedantic_data(data))
end
|
31
32
33
|
# File 'lib/avro_pinions/codec.rb', line 31
def wire_format
AvroPinions.configuration.wire_format
end
|