34 lines
567 B
Ruby
34 lines
567 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
class AiCommandSerializer < ApplicationSerializer
|
||
|
attributes :options, :id, :name, :help
|
||
|
|
||
|
def include_options?
|
||
|
object.options.present?
|
||
|
end
|
||
|
|
||
|
def id
|
||
|
object.to_s.split("::").last
|
||
|
end
|
||
|
|
||
|
def name
|
||
|
object.name.humanize.titleize
|
||
|
end
|
||
|
|
||
|
def help
|
||
|
object.help
|
||
|
end
|
||
|
|
||
|
def options
|
||
|
options = {}
|
||
|
object.options.each do |option|
|
||
|
options[option.name] = {
|
||
|
name: option.localized_name,
|
||
|
description: option.localized_description,
|
||
|
type: option.type,
|
||
|
}
|
||
|
end
|
||
|
options
|
||
|
end
|
||
|
end
|