Module: Protocol::Content::Parameters

Defined in:
lib/protocol/content/parameters.rb,
lib/protocol/content/parameters/type.rb,
lib/protocol/content/parameters/error.rb,
lib/protocol/content/parameters/field.rb,
lib/protocol/content/parameters/model.rb,
lib/protocol/content/parameters/value.rb,
lib/protocol/content/parameters/result.rb,
lib/protocol/content/parameters/upload.rb,
lib/protocol/content/parameters/builder.rb,
lib/protocol/content/parameters/enumeration.rb

Overview

Builds parameter models for filtering, conversion, and validation.

Defined Under Namespace

Classes: Builder, Enumeration, Error, Model, Result, Upload, ValidationError

Constant Summary collapse

TYPES =

The built-in parameter type conversions.

{
	Integer => ->(value) do
		# Reject non-string values rather than relying on implicit numeric coercion:
		unless value.is_a?(String)
			raise TypeError
		end
		
		Integer(value, 10)
	end,
	Float => ->(value){Float(value)},
}.freeze

Class Method Summary collapse

Class Method Details

.build(parser: Parser.default, types: TYPES, strict: true, &block) ⇒ Object

Build an immutable parameter model.



40
41
42
# File 'lib/protocol/content/parameters.rb', line 40

def self.build(parser: Parser.default, types: TYPES, strict: true, &block)
	return Builder.new(parser:, types:, strict:).build(&block)
end