package com.qubling.sidekick.fetch.cpan; import com.qubling.sidekick.instance.Module; import com.qubling.sidekick.model.Model; public class ModulePodFetcher extends CPANDirectFetcher<Module> { public ModulePodFetcher(Model<Module> model) { super(model, FetchSection.MODULE_POD); } @Override public boolean needsUpdate(Module module) { return module.getRawPod() == null; } @Override protected String getRemainderUrl(Module module) { if (module.getName().contains("/")) { return module.getAuthorPauseId() + "/" + module.getReleaseName() + "-" + module.getRelease().getVersion() + "/" + module.getName(); } else { return module.getKey(); } } @Override public void consumeResponse(String content, Module module) { module.setRawPod(content); } @Override public String toString() { return getModel() + ":ModulePodFetcher(" + getResultSet() + ")"; } }