Sha256: ddedef013225c93bacdbcf55e9885f77bd3018356d36272d81acb3de1162dace

Contents?: true

Size: 1.25 KB

Versions: 10

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

module FitbitAPI
  class Client
    # Returns the cardio fitness score data for a given date or date range.
    # If both a date and a date range are given, the date range takes precedence.
    #
    #   cardio_score_summary(date: Date.parse('2021-04-16'))
    #   cardio_score_summary(start_date: Date.parse('2021-05-18'), end_date: Date.parse('2021-05-24'))
    #
    # @param params [Hash] The request parameters
    #
    # @option params :date [Date] The target date
    # @option params :start_date [Date] The start of the date range
    # @option params :end_date [Date] The end of the date range

    def cardio_score_summary(opts = {})
      date       = opts[:date] || Date.today
      start_date = opts[:start_date]
      end_date   = opts[:end_date]

      end_date = Date.today if start_date && !end_date

      raise FitbitAPI::InvalidArgumentError, 'A date or start_date and end_date are required.' unless date || start_date

      result = if start_date
                 get("user/#{user_id}/cardioscore/date/#{format_date(start_date)}/#{format_date(end_date)}.json")
               else
                 get("user/#{user_id}/cardioscore/date/#{format_date(date)}.json")
               end

      strip_root_key(result)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
fitbit_api-1.1.0 lib/fitbit_api/cardio_score.rb
fitbit_api-1.0.1 lib/fitbit_api/cardio_score.rb
fitbit_api-1.0.0 lib/fitbit_api/cardio_score.rb
fitbit_api-0.17.1 lib/fitbit_api/cardio_score.rb
fitbit_api-0.17.0 lib/fitbit_api/cardio_score.rb
fitbit_api-0.16.0 lib/fitbit_api/cardio_score.rb
fitbit_api-0.15.3 lib/fitbit_api/cardio_score.rb
fitbit_api-0.15.2 lib/fitbit_api/cardio_score.rb
fitbit_api-0.15.1 lib/fitbit_api/cardio_score.rb
fitbit_api-0.15.0 lib/fitbit_api/cardio_score.rb