class Dns::CatalogZone::Cli

Public Instance Methods

checkconf(name = nil) click to toggle source
# File lib/dns/catalog_zone/cli.rb, line 46
def checkconf(name = nil)
  read_config
  @config.settings.each do |setting|
    next unless name == setting.name || name.nil?
    setting.validate
  end
end
init(_zonename = 'catalog.example', _type = 'file') click to toggle source
# File lib/dns/catalog_zone/cli.rb, line 31
def init(_zonename = 'catalog.example', _type = 'file')
  unless File.exist? 'CatalogZone'
    FileUtils.cp Dns::CatalogZone.root_path + '/share/CatalogZone', 'CatalogZone'
  end
end
list() click to toggle source
# File lib/dns/catalog_zone/cli.rb, line 37
def list
  read_config
  puts "name\tsource\tsoftware\tzonename\n"
  @config.settings.each do |setting|
    puts "#{setting.name}\t#{setting.source}\t" \
         "#{setting.software}\t\t#{setting.zonename}\n"
  end
end
make(name = nil) click to toggle source
# File lib/dns/catalog_zone/cli.rb, line 54
def make(name = nil)
  read_config
  @config.settings.each do |setting|
    next unless name == setting.name || name.nil?
    setting.validate
    catalog_zone = make_CatalogZone(setting)
    provider = make_config(setting, catalog_zone)
    output(setting, provider)
  end
end

Private Instance Methods

make_CatalogZone(setting) click to toggle source
# File lib/dns/catalog_zone/cli.rb, line 71
def make_CatalogZone(setting)
  source = Dns::CatalogZone::Source.create(setting)
  Dns::CatalogZone::CatalogZone.new(setting.zonename, source.get)
end
make_config(setting, catalog_zone) click to toggle source
# File lib/dns/catalog_zone/cli.rb, line 76
def make_config(setting, catalog_zone)
  provider = Dns::CatalogZone::Provider.create(setting)
  provider.make(catalog_zone)
  provider
end
output(setting, provider) click to toggle source
# File lib/dns/catalog_zone/cli.rb, line 82
def output(setting, provider)
  output = Dns::CatalogZone::Output.create(setting)
  output.output(provider.write)
end
read_config() click to toggle source
# File lib/dns/catalog_zone/cli.rb, line 67
def read_config
  @config = Dns::CatalogZone::Config.read
end