Files
mozo-backend/lib/qwaiter/supplier_base_serializer.rb
T
2020-02-29 11:43:00 -05:00

50 lines
1.0 KiB
Ruby

module Qwaiter::SupplierBaseSerializer
extend ActiveSupport::Concern
include JSONAPI::Serializer
included do
class_attribute :related_link_for_attributes
timestamp_attribute :created_at
timestamp_attribute :updated_at
end
def base_url
"/supplier/api/v1"
end
#def format_name(attribute_name)
# attribute_name.to_s.dasherize
#end
#def unformat_name(attribute_name)
# attribute_name.to_s.underscore
#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 timestamp_attribute(attr)
attribute attr do
object.public_send(attr).try(:iso8601)
end
end
def related_link_for(*attributes)
self.related_link_for_attributes = attributes
end
end
end