class WarpEngine::Configuration::AdditionalResourceDSL
The block of an additional_resource line in WarpEngine::Configuration::DSL; it collects the parts of one WarpEngine::AdditionalResource.
Public Class Methods
# File lib/warp_engine/configuration/additional_resource_dsl.rb, line 8 def initialize(association, subject:, label:, multiple:) @association = association @subject = subject @label = label @multiple = multiple @permitted = [] @fields = nil @api_schema = nil @api_serializer = nil end
Creates a builder for association on the engine resource subject, shown under label; multiple is false for a has_one.
Public Instance Methods
# File lib/warp_engine/configuration/additional_resource_dsl.rb, line 27 def api_schema(schema = nil, &block) @api_schema = schema || SchemaDSL.build(&block) end
Sets the OpenAPI schema of one entry: a Hash, or a block evaluated by WarpEngine::Configuration::SchemaDSL.
# File lib/warp_engine/configuration/additional_resource_dsl.rb, line 32 def api_serializer(callable = nil, &block) @api_serializer = callable || block end
Sets the callable (or the block) that turns one entry into its API Hash.
Source
# File lib/warp_engine/configuration/additional_resource_dsl.rb, line 37 def build AdditionalResource.new(subject: @subject, association: @association, label: @label, multiple: @multiple, permitted: @permitted, fields: @fields, api_schema: @api_schema, api_serializer: @api_serializer) end
Returns the WarpEngine::AdditionalResource built from the collected parts.
Source
# File lib/warp_engine/configuration/additional_resource_dsl.rb, line 23 def form(&block) = @fields = block
Sets the ActiveAdmin form block rendered in the resourceโs fieldset.
Source
# File lib/warp_engine/configuration/additional_resource_dsl.rb, line 20 def permit(*attributes) = @permitted.concat(attributes.flatten)
Adds attributes to the strong parameters of the admin form.