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 nil 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) #super if related_link_for_attributes.include?(attribute_name) super 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 return unless timestamp = object.public_send(attr) timestamp.iso8601 end end def related_link_for(*attributes) self.related_link_for_attributes = attributes end end end