Module: SmartParams

Defined in:
lib/smart_params.rb,
lib/smart_params/field.rb,
lib/smart_params/version.rb,
lib/smart_params/fluent_language.rb,
lib/smart_params/invalid_payload_exception.rb,
lib/smart_params/missing_property_exception.rb,
lib/smart_params/path_already_defined_exception.rb,
lib/smart_params/invalid_property_type_exception.rb,
lib/smart_params/no_matching_namespace_exception.rb,
lib/smart_params/missing_type_annotation_exception.rb,
lib/smart_params/namespace_already_defined_exception.rb

Defined Under Namespace

Modules: FluentLanguage Classes: Field, InvalidPayloadException, InvalidPropertyTypeException, MissingPropertyException, MissingTypeAnnotationException, NamespaceAlreadyDefinedException, NoMatchingNamespaceException, PathAlreadyDefinedException

Constant Summary collapse

VERSION =
"6.0.3"

Class Method Summary collapse

Class Method Details

.from(schema, raw, namespace = :default) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/smart_params.rb', line 28

def self.from(schema, raw, namespace = :default)
  case map(fetch_namespace(schema, namespace), raw)
  in [result, []]
    result
  in [_, failures]
    failures
  end
end

.validate!(schema, raw, namespace = :default) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/smart_params.rb', line 19

def self.validate!(schema, raw, namespace = :default)
  case map(fetch_namespace(schema, namespace), raw)
  in [result, []]
    result
  in [_, failures]
    raise InvalidPayloadException.new(failures:)
  end
end