5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/playdough.rb', line 5
def versioner mod, **opts
normalize_options(opts)
self.prepend_before_filter opts do
if request.accept
version = request.accept[/version\s?=\s?(\d+)/, 1]
shape = request.accept[/shape\s?=\s?(\w+)/, 1]
mod_version = mod.const_get("V#{version}")
resource_name = mod.name.split('::').last
if shape
@versioner_serializer = mod_version.const_get("#{resource_name}#{shape.camelize}Serializer")
else
@versioner_serializer = mod_version.const_get("#{resource_name}Serializer")
end
end
end
end
|