scinote-web/app/serializers/table_serializer.rb

31 lines
687 B
Ruby
Raw Normal View History

2022-05-06 17:59:22 +08:00
# frozen_string_literal: true
class TableSerializer < ActiveModel::Serializer
include Canaid::Helpers::PermissionsHelper
2022-05-06 17:59:22 +08:00
include Rails.application.routes.url_helpers
2023-02-06 19:55:02 +08:00
attributes :name, :contents, :urls, :icon, :metadata
2022-05-06 17:59:22 +08:00
def contents
object.contents_utf_8
end
def icon
'fa-table'
end
2022-05-06 17:59:22 +08:00
def urls
return if object.destroyed?
object.reload unless object.step
return {} unless can_manage_step?(scope[:user] || @instance_options[:user], object.step)
2022-05-06 17:59:22 +08:00
{
duplicate_url: duplicate_step_table_path(object.step, object),
2022-05-06 17:59:22 +08:00
delete_url: step_table_path(object.step, object),
update_url: step_table_path(object.step, object)
}
end
end