scinote-web/app/serializers/api/v1/result_serializer.rb

26 lines
937 B
Ruby
Raw Normal View History

# frozen_string_literal: true
module Api
module V1
class ResultSerializer < ActiveModel::Serializer
type :results
attributes :name, :user_id, :archived
2018-09-13 17:57:31 +08:00
attribute :my_module_id, key: :task_id
2018-10-07 01:53:31 +08:00
belongs_to :my_module, serializer: TaskSerializer
has_one :result_asset, key: :asset,
serializer: ResultAssetSerializer,
class_name: 'ResultAsset',
if: -> { object.is_asset }
has_one :result_table, key: :table,
serializer: ResultTableSerializer,
class_name: 'ResultTable',
if: -> { object.is_table }
has_one :result_text, key: :text,
serializer: ResultTextSerializer,
class_name: 'ResultText',
if: -> { object.is_text }
end
end
end