50 lines
1.0 KiB
Ruby
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
|