79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
# File 'lib/arsenicum/formatter.rb', line 79
def parse_for_embedded_classes(value)
case value[:type]
when TYPE_DATE
Date.strptime(value[:value], DATE_FORMAT)
when TYPE_DATETIME
Time.strptime(value[:value], DATE_TIME_FORMAT)
when TYPE_CLASS
Module.const_get value[:value].to_sym
when TYPE_ARRAY
value[:values].map do |value|
parse(value)
end
when TYPE_HASH
value[:values].inject({}) do |h, key_value|
(key, value) = key_value
h[key.to_s.to_sym] = parse(value)
h
end
end
end
|