Remove business logic from the Tracking module and unify its API
Problem
Our Gitlab::Tracking
file has leaked some business logic in it. In order to keep this file clean and maintainable we need to remove it and adjust all affecting places.
Proposal
The Gitlab::Tracking::Helpers
module can be replaced by a singleton. Yeah, the singleton
pattern should be avoided but it will work perfectly for this case. And combining it with the Gitlab::StandardContext
class will create the perfect duo.