Sha256: e08e5624c2f14fae1633dc67496cd1c937dfd424197586911fe99886c4c74e04

Contents?: true

Size: 770 Bytes

Versions: 2

Compression:

Stored size: 770 Bytes

Contents

# frozen_string_literal

module Dexcom
  module BloodGlucoseUtils
    module ClassMethods
      DEFAULT_NUMBER_OF_VALUES = 1
      MINUTES_PER_DATAPOINT = 5

      def last
        get_last(max_count: 1)
      end

      def get_last(max_count: nil, minutes: nil)
        number_of_values = calculate_number_of_values(max_count, minutes)

        response = make_api_request(number_of_values)
        process_api_response(response)
      end

      private

      def calculate_number_of_values(max_count, minutes)
        if minutes.nil?
          max_count || DEFAULT_NUMBER_OF_VALUES
        elsif max_count.nil?
          minutes / MINUTES_PER_DATAPOINT
        else
          [max_count, minutes / MINUTES_PER_DATAPOINT].min
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dexcom-0.2.1 lib/dexcom/blood_glucose/class_methods.rb
dexcom-0.2.0 lib/dexcom/blood_glucose/class_methods.rb