Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-22 09:20:29 +01:00
20 Zeilen
687 B
Ruby
20 Zeilen
687 B
Ruby
# frozen_string_literal: true
|
|
|
|
class CustomWizard::RealtimeValidationsController < ::ApplicationController
|
|
requires_plugin "discourse-custom-wizard"
|
|
|
|
def validate
|
|
klass_str = "CustomWizard::RealtimeValidation::#{validation_params[:type].camelize}"
|
|
result = klass_str.constantize.new(current_user).perform(validation_params)
|
|
render_serialized(result.items, "#{klass_str}Serializer".constantize, result.serializer_opts)
|
|
end
|
|
|
|
private
|
|
|
|
def validation_params
|
|
params.require(:type)
|
|
settings = ::CustomWizard::RealtimeValidation.types[params[:type].to_sym]
|
|
params.require(settings[:required_params]) if settings[:required_params].present?
|
|
params
|
|
end
|
|
end
|