Module: Legion::Registry::Governance

Defined in:
lib/legion/registry/governance.rb

Constant Summary collapse

DEFAULTS =
{
  require_airb_approval:      false,
  auto_approve_risk_tiers:    %w[low],
  review_required_risk_tiers: %w[medium high critical],
  naming_convention:          'lex-[a-z][a-z0-9_]*',
  deprecation_notice_days:    30
}.freeze

Class Method Summary collapse

Class Method Details

.auto_approve?(risk_tier) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/legion/registry/governance.rb', line 24

def auto_approve?(risk_tier)
  config[:auto_approve_risk_tiers].include?(risk_tier.to_s)
end

.check_name(name) ⇒ Object



19
20
21
22
# File 'lib/legion/registry/governance.rb', line 19

def check_name(name)
  pattern = Regexp.new("\\A#{config[:naming_convention]}\\z")
  pattern.match?(name.to_s)
end

.configObject



15
16
17
# File 'lib/legion/registry/governance.rb', line 15

def config
  @config ||= load_config
end

.reset!Object



32
33
34
# File 'lib/legion/registry/governance.rb', line 32

def reset!
  @config = nil
end

.review_required?(risk_tier) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/legion/registry/governance.rb', line 28

def review_required?(risk_tier)
  config[:review_required_risk_tiers].include?(risk_tier.to_s)
end