feat(df): add gem proxy matcher

Adds the RubyGems proxy matcher on top of the core proxy model (its target branch, df-mr-04-proxy). Split out of the combined matchers MR so each ecosystem is reviewed on its own.

gemmatch.go:

  • matches .gem artifact downloads served under /gems/, splitting <name>-<version>[-<platform>] with a documented heuristic;
  • matches gem pushes to the api/v1/gems upload endpoint, anchored on a path-segment boundary; the upload coordinate is package-level (empty name/version), so the checker still gets an Upload request.

It touches no other ecosystem's files and implements the Matcher interface introduced in the proxy-core MR.

Part of the dependency-firewall breakup. One of three per-ecosystem matcher MRs (pypi, maven, gem), each independent and stacked on df-mr-04-proxy.

Testing

  • make build
  • go test ./internal/dependencyfirewall/proxy/...
  • go vet and gofmt clean.

Merge request reports

Loading
Loading