mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-12-01 03:17:53 -05:00
52 lines
856 B
Ruby
52 lines
856 B
Ruby
|
class TopicSubtype
|
||
|
include ActiveModel::Serialization
|
||
|
|
||
|
attr_accessor :id, :options
|
||
|
|
||
|
def initialize(id, options)
|
||
|
@id = id
|
||
|
@options = options
|
||
|
end
|
||
|
|
||
|
def attributes
|
||
|
{'id' => @id,
|
||
|
'options' => @options}
|
||
|
end
|
||
|
|
||
|
def self.list
|
||
|
return [] unless @archetypes.present?
|
||
|
@archetypes.values
|
||
|
end
|
||
|
|
||
|
def self.user_to_user
|
||
|
'user_to_user'
|
||
|
end
|
||
|
|
||
|
def self.system_message
|
||
|
'system_message'
|
||
|
end
|
||
|
|
||
|
def self.moderator_warning
|
||
|
'moderator_warning'
|
||
|
end
|
||
|
|
||
|
def self.notify_moderators
|
||
|
'notify_moderators'
|
||
|
end
|
||
|
|
||
|
def self.notify_user
|
||
|
'notify_user'
|
||
|
end
|
||
|
|
||
|
def self.register(name, options={})
|
||
|
@subtypes ||= {}
|
||
|
@subtypes[name] = TopicSubtype.new(name, options)
|
||
|
end
|
||
|
|
||
|
register 'user_to_user'
|
||
|
register 'system_message'
|
||
|
register 'moderator_warning'
|
||
|
register 'notify_moderators'
|
||
|
register 'notify_user'
|
||
|
|
||
|
end
|