def update_catalogs_if_needed(catalogs, templates)
      needs_update = templates.any? {|template| template.type == TemplateDeclarationType::CATALOG_TEMPLATE}

      return unless needs_update

      terminator = CatalogTerminator.new
      terminator.remove_all_catalogs
      puts('Updating shared generamba-catalog specs...')
      @catalog_downloader.download_catalog(GENERAMBA_CATALOG_NAME, RAMBLER_CATALOG_REPO)

      return unless catalogs != nil && catalogs.count > 0

      catalogs.each do |catalog_url|
        catalog_name = catalog_url.split('://').last
        catalog_name = catalog_name.gsub('/', '-');
        puts("Updating #{catalog_name} specs...")
        @catalog_downloader.download_catalog(catalog_name, catalog_url)
      end
    end
Clones remote template catalogs to the local directory