Class: GitFit::Export::Calculator

Inherits:
Object
  • Object
show all
Defined in:
lib/git_fit/export/calculator.rb

Instance Method Summary collapse

Constructor Details

#initialize(db:, activity_filter: nil) ⇒ Calculator

Returns a new instance of Calculator.



8
9
10
11
# File 'lib/git_fit/export/calculator.rb', line 8

def initialize(db:, activity_filter: nil)
  @db = db
  @activity_filter = activity_filter
end

Instance Method Details

#callObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/git_fit/export/calculator.rb', line 13

def call
  ds = @db[:activities]
  ds = ds.where(sport_category: @activity_filter) if @activity_filter

  all = ds.all
  return empty_stats if all.empty?

  {
    summary: compute_summary(all),
    monthly: compute_monthly(all),
    yearly: compute_yearly(all),
    streaks: compute_streaks(all),
    activity_types: distinct_categories(all),
  }
end