Files
mozo-backend/lib/mozo/waiter_base_serializer.rb
T
2025-09-20 17:35:58 -05:00

51 lines
1.0 KiB
Ruby

module Mozo::WaiterBaseSerializer
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