-
Notifications
You must be signed in to change notification settings - Fork 2
Technical overview
Maciej Banaś edited this page Jun 1, 2023
·
10 revisions
gitstats
is written with the use of R6.
Role of this class is to manage different Git Platforms - GitHub
and GitLab
and handle which engines should be used when performing specific tasks, such as pulling repositories or commits.
For example GitHub's GraphQL handles pulling commits but in case of GitLab only REST can be used for this task.
There are even more complicated cases - e.g. although GitLab's GraphQL handles pulling repositories, contributors stats have to be pulled with the use of REST.
GitStats
is making use of REST and GraphQL APIs. Methods coordinating (retrieving, formatting responses from requests from different APIs are managed by Engine
classes (basically RestEngine
and GraphQLEngine
).