45 lines
956 B
Ruby
45 lines
956 B
Ruby
module Qwaiter::UserBaseSerializer
|
|
extend ActiveSupport::Concern
|
|
include JSONAPI::Serializer
|
|
included do
|
|
class_attribute :related_link_for_attributes
|
|
attribute :created_at
|
|
attribute :updated_at
|
|
end
|
|
|
|
def base_url
|
|
"/user/api/v1"
|
|
end
|
|
|
|
def format_name(attribute_name)
|
|
#attribute_name.to_s.dasherize
|
|
attribute_name.to_s
|
|
end
|
|
|
|
def unformat_name(attribute_name)
|
|
#attribute_name.to_s.underscore
|
|
attribute_name.to_s
|
|
end
|
|
|
|
#alias_method :default_relationship_related_link, :relationship_related_link
|
|
def relationship_related_link(attribute_name)
|
|
return super if related_link_for_attributes.include?(attribute_name)
|
|
nil
|
|
end
|
|
|
|
def relationship_self_link(attribute_name)
|
|
end
|
|
|
|
module ClassMethods
|
|
def attributes(*attrs)
|
|
attrs.each do |attr|
|
|
attribute attr
|
|
end
|
|
end
|
|
|
|
def related_link_for(*attributes)
|
|
self.related_link_for_attributes = attributes
|
|
end
|
|
end
|
|
end
|