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

31 lines
814 B
Ruby

# frozen_string_literal: true
module Api
module V1
class InventoryCellSerializer < ActiveModel::Serializer
type :inventory_cells
attributes :id, :value_type, :value
attribute :repository_column_id, key: :column_id
def value
value =
case object.value_type
when 'RepositoryTextValue'
object.repository_text_value
when 'RepositoryDateValue'
object.repository_date_value
when 'RepositoryListValue'
object.repository_list_value
when 'RepositoryAssetValue'
object.repository_asset_value
end
ActiveModelSerializers::SerializableResource.new(
value,
namespace: Api::V1,
adapter: :attribute
).as_json
end
end
end
end