module Dns::CatalogZone::Provider

Provider module

Public Class Methods

create(setting) click to toggle source
# File lib/dns/catalog_zone/provider.rb, line 30
def create(setting)
  type = setting.software
  class_name = "Dns::CatalogZone::Provider::#{type.ucc}"
  begin
    require "dns/catalog_zone/provider/#{type}"
    provider = Object.const_get(class_name).new(setting)
  rescue LoadError
    raise Dns::CatalogZone::ValidateError, "can't find #{class_name}"
  rescue NameError
    raise Dns::CatalogZone::ValidateError, "can't find #{class_name}"
  end
  provider
end