Module: KamalGitlabReviewApp::Dns::Registry

Defined in:
lib/kamal_gitlab_review_app/dns/registry.rb

Class Method Summary collapse

Class Method Details

.register(name, klass) ⇒ Object



7
8
9
# File 'lib/kamal_gitlab_review_app/dns/registry.rb', line 7

def register(name, klass)
  providers[name.to_sym] = klass
end

.reset!Object



21
22
23
# File 'lib/kamal_gitlab_review_app/dns/registry.rb', line 21

def reset!
  @providers = {}
end

.resolveObject



11
12
13
14
15
16
17
18
19
# File 'lib/kamal_gitlab_review_app/dns/registry.rb', line 11

def resolve
  key = KamalGitlabReviewApp::Env.dns_provider_name.to_sym
  klass = providers[key]
  unless klass
    raise Error, "Unknown DNS provider #{key.inspect}. Registered: #{providers.keys.sort.join(', ')}"
  end

  klass.new
end