Module: WayOfWorking::Audit::Github::Rules::Registry

Defined in:
lib/way_of_working/audit/github/rules/registry.rb

Overview

This provides the GitHub audit rule factory

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.rulesObject

Returns the value of attribute rules.



12
13
14
# File 'lib/way_of_working/audit/github/rules/registry.rb', line 12

def rules
  @rules
end

Class Method Details

.register(klass, rule_name) ⇒ Object



14
15
16
17
18
# File 'lib/way_of_working/audit/github/rules/registry.rb', line 14

def register(klass, rule_name)
  @rules ||= {}

  @rules[rule_name] = klass
end

.rule(rule_name, client, repo) ⇒ Object



26
27
28
29
30
# File 'lib/way_of_working/audit/github/rules/registry.rb', line 26

def rule(rule_name, client, repo)
  klass = Registry.rules.fetch(rule_name, Unknown)

  klass.new(client, repo)
end

.unregister(*rule_names) ⇒ Object



20
21
22
23
24
# File 'lib/way_of_working/audit/github/rules/registry.rb', line 20

def unregister(*rule_names)
  rule_names.each do |rule_name|
    @rules.delete(rule_name)
  end
end