2022-04-29 18:29:42 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
class StepOrderableElementSerializer < ActiveModel::Serializer
|
|
|
|
attributes :position, :element, :orderable_type
|
|
|
|
|
|
|
|
def element
|
|
|
|
case object.orderable_type
|
|
|
|
when 'Checklist'
|
2022-05-03 19:42:43 +08:00
|
|
|
ChecklistSerializer.new(object.orderable).as_json
|
2022-04-29 18:29:42 +08:00
|
|
|
when 'StepTable'
|
2022-05-03 19:42:43 +08:00
|
|
|
StepTableSerializer.new(object.orderable.table).as_json
|
2022-04-29 18:29:42 +08:00
|
|
|
when 'StepText'
|
2022-05-03 19:42:43 +08:00
|
|
|
StepTextSerializer.new(object.orderable).as_json
|
2022-04-29 18:29:42 +08:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|