Module: Dry::Validation::Rust

Defined in:
lib/dry/validation/rust.rb,
lib/dry/validation/rust/path.rb,
lib/dry/validation/rust/rule.rb,
lib/dry/validation/rust/config.rb,
lib/dry/validation/rust/errors.rb,
lib/dry/validation/rust/macros.rb,
lib/dry/validation/rust/native.rb,
lib/dry/validation/rust/schema.rb,
lib/dry/validation/rust/message.rb,
lib/dry/validation/rust/version.rb,
lib/dry/validation/rust/contract.rb,
lib/dry/validation/rust/failures.rb,
lib/dry/validation/rust/evaluator.rb,
lib/dry/validation/rust/path_trie.rb,
lib/dry/validation/rust/schema/dsl.rb,
lib/dry/validation/rust/message_set.rb,
lib/dry/validation/rust/schema/result.rb,
lib/dry/validation/rust/contract/result.rb,
lib/dry/validation/rust/contract/values.rb,
lib/dry/validation/rust/message_backend.rb,
lib/dry/validation/rust/generated_predicates.rb,
lib/dry/validation/rust/schema/field_builder.rb,
lib/dry/validation/rust/schema/predicate_block.rb,
lib/dry/validation/rust/schema/processor_hooks.rb,
lib/dry/validation/rust/schema/field_definition.rb,
lib/dry/validation/rust/block_keyword_parameters.rb,
lib/dry/validation/rust/schema/ruby_type_processor.rb

Defined Under Namespace

Modules: BlockKeywordParameters, Native, Path Classes: Config, Contract, DuplicateSchemaError, Error, Evaluator, Failures, I18nBackend, InvalidKeysError, Macro, MacroRegistry, Message, MessageBackend, MessageConfig, MessageSet, NativeExtensionError, PathTrie, Rule, Schema, SchemaMissingError, UnsupportedFeatureError, YamlBackend

Constant Summary collapse

VERSION =
'0.1.0.pre5'
ENGINE_VERSION =
1

Class Method Summary collapse

Class Method Details

.Contract(options = {}) ⇒ Object



35
36
37
# File 'lib/dry/validation/rust.rb', line 35

def Contract(options = {}, &)
  Contract.build(options, &)
end

.global_macrosObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



26
27
28
# File 'lib/dry/validation/rust.rb', line 26

def global_macros
  @global_macros ||= MacroRegistry.new
end

.load_extensions(*names) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/dry/validation/rust.rb', line 39

def load_extensions(*names)
  names.each do |name|
    next if name.to_sym == :predicates_as_macros

    raise UnsupportedFeatureError,
          "extension #{name.inspect} is not implemented in the experimental Rust compatibility layer"
  end
  self
end

.register_macro(name) ⇒ Object



30
31
32
33
# File 'lib/dry/validation/rust.rb', line 30

def register_macro(name, *, &)
  global_macros.register(name, *, &)
  self
end