Statistical function which computes the average work time in different months
Rubocop Report

Rubocop was able to solve minor layout issues regarding the use of white spaces. One note-worthy change it proposed is:


[Corrected] Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.



days_aggregate.each do | key, task |
  parts = key.split("-")



 parts = key.split('-')


A bigger complexity issue it found was:


Metrics/AbcSize: Assignment Branch Condition size for work_per_month is too high. [33/15]
Metrics/MethodLength: Method has too many lines. [30/10]


This means your method work_per_month is doing way too much. It has more than double the AbcSize than the suggested threshold [33/15]. You should split this method in sub-routines.