Module: Rotary::Serializer
- Defined in:
- lib/rotary/serializer.rb,
lib/rotary/serializer/string.rb
Defined Under Namespace
Modules: String
Classes: Error
Constant Summary
collapse
- Marshal =
Marshal
Class Method Summary
collapse
Class Method Details
.load_const(serializer) ⇒ Object
23
24
25
26
27
|
# File 'lib/rotary/serializer.rb', line 23
def load_const(serializer)
const_get("Rotary::Serializer::#{serializer.capitalize}")
rescue NameError
raise_wrong_serializer!(serializer)
end
|
.load_serializer(serializer) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/rotary/serializer.rb', line 10
def load_serializer(serializer)
case serializer
when Symbol
load_const(serializer)
else
unless valid?(serializer)
raise Rotary::Serializer::Error,
"#{serializer}:#{serializer.class} doesn't respond to either '.load' or '.dump'"
end
serializer
end
end
|
.raise_wrong_serializer!(serializer) ⇒ Object
33
34
35
|
# File 'lib/rotary/serializer.rb', line 33
def raise_wrong_serializer!(serializer)
raise Rotary::Serializer::Error, "Wrong serializer #{serializer} of class #{serializer.class}"
end
|
.valid?(serializer) ⇒ Boolean
29
30
31
|
# File 'lib/rotary/serializer.rb', line 29
def valid?(serializer)
serializer.respond_to?(:dump) && serializer.respond_to?(:load)
end
|