-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
Description
Grape exposures give you entity_name
, exposures
and documentation
. We can add those for out-of-the-box support for https://github.com/tim-vandecasteele/grape-swagger.
module Grape
module Roar
module Representer
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def entity_name
self.name.split('::').last.gsub(/Presenter$/, '')
end
def exposures
{}
end
def documentation
Hash[representable_attrs.map do |attribute|
property_name = attribute[:as].evaluate nil, nil
next if property_name == '_links'
[ property_name, { desc: attribute[:desc], type: attribute[:type] }]
end.compact]
end
end
end
end
end