Module: Glossarist::Validation::Rules::Registry

Defined in:
lib/glossarist/validation/rules/registry.rb

Class Method Summary collapse

Class Method Details

.allObject



16
17
18
# File 'lib/glossarist/validation/rules/registry.rb', line 16

def self.all
  @rules.map(&:new)
end

.find(code) ⇒ Object



28
29
30
# File 'lib/glossarist/validation/rules/registry.rb', line 28

def self.find(code)
  all.find { |r| r.code == code }
end

.for_category(category) ⇒ Object



20
21
22
# File 'lib/glossarist/validation/rules/registry.rb', line 20

def self.for_category(category)
  all.select { |r| r.category == category }
end

.for_scope(scope) ⇒ Object



24
25
26
# File 'lib/glossarist/validation/rules/registry.rb', line 24

def self.for_scope(scope)
  all.select { |r| r.scope == scope }
end

.register(rule_class) ⇒ Object



10
11
12
13
14
# File 'lib/glossarist/validation/rules/registry.rb', line 10

def self.register(rule_class)
  @mutex.synchronize do
    @rules << rule_class unless @rules.include?(rule_class)
  end
end

.reset!Object



32
33
34
# File 'lib/glossarist/validation/rules/registry.rb', line 32

def self.reset!
  @mutex.synchronize { @rules.clear }
end

.rule_classesObject



36
37
38
# File 'lib/glossarist/validation/rules/registry.rb', line 36

def self.rule_classes
  @rules.dup
end