Module: Lite::Validation::Validator::Predicate::Registry

Defined in:
lib/lite/validation/validator/predicate/registry.rb

Class Method Summary collapse

Class Method Details

.engine(key) ⇒ Object

Raises:



34
35
36
37
38
# File 'lib/lite/validation/validator/predicate/registry.rb', line 34

def self.engine(key)
  raise Error, "Engine not registered: #{key}" unless engines.key?(key)

  engines[key]
end

.enginesObject



40
41
42
# File 'lib/lite/validation/validator/predicate/registry.rb', line 40

def self.engines
  @engines ||= {}
end

.predicate(key) ⇒ Object

Raises:



18
19
20
21
22
# File 'lib/lite/validation/validator/predicate/registry.rb', line 18

def self.predicate(key)
  raise Error, "Predicate not registered: #{key}" unless predicates.key?(key)

  predicates[key]
end

.predicatesObject



24
25
26
# File 'lib/lite/validation/validator/predicate/registry.rb', line 24

def self.predicates
  @predicates ||= {}
end

.register_adapter(key, engine) ⇒ Object

Raises:



28
29
30
31
32
# File 'lib/lite/validation/validator/predicate/registry.rb', line 28

def self.register_adapter(key, engine)
  raise Error, "Key already taken: #{key}" if engines.key?(key)

  engines[key] = engine
end

.register_predicate(key, predicate) ⇒ Object

Raises:



11
12
13
14
15
16
# File 'lib/lite/validation/validator/predicate/registry.rb', line 11

def self.register_predicate(key, predicate)
  raise Error, "Not a predicate: #{predicate}" unless predicate.is_a?(Predicate::Abstract::Variants)
  raise Error, "Key already taken: #{key}" if predicates.key?(key)

  predicates[key] = predicate
end