def targets(*names, &block)
      if names.empty?
        UI.warning('Book#targets to get all targets is deprecated, use #all_targets instead', location: caller_locations.first)
        return all_targets
      end

      names.map { |name| target(name, &block) }
    end
def targets(*names, &block)
      if names.empty?
        UI.warning('Book#targets to get all targets is deprecated, use #all_targets instead', location: caller_locations.first)
        return all_targets
      end

      names.map { |name| target(name, &block) }
    end
Defines several new targets with same configuration

 @param [Array<String, Symbol>] names

 @return [Array<Target>] result target