Module: Medic::Types

Constant Summary collapse

TYPE_IDENTIFIERS =
{
  body_mass_index: HKQuantityTypeIdentifierBodyMassIndex,
  body_fat_percentage: HKQuantityTypeIdentifierBodyFatPercentage,
  height: HKQuantityTypeIdentifierHeight,
  body_mass: HKQuantityTypeIdentifierBodyMass,
  lean_body_mass: HKQuantityTypeIdentifierLeanBodyMass,
  step_count: HKQuantityTypeIdentifierStepCount,
  distance_walking_running: HKQuantityTypeIdentifierDistanceWalkingRunning,
  distance_cycling: HKQuantityTypeIdentifierDistanceCycling,
  basal_energy_burned: HKQuantityTypeIdentifierBasalEnergyBurned,
  active_energy_burned: HKQuantityTypeIdentifierActiveEnergyBurned,
  flights_climbed: HKQuantityTypeIdentifierFlightsClimbed,
  nike_fuel: HKQuantityTypeIdentifierNikeFuel,
  heart_rate: HKQuantityTypeIdentifierHeartRate,
  body_temperature: HKQuantityTypeIdentifierBodyTemperature,
  blood_pressure_systolic: HKQuantityTypeIdentifierBloodPressureSystolic,
  blood_pressure_diastolic: HKQuantityTypeIdentifierBloodPressureDiastolic,
  respiratory_rate: HKQuantityTypeIdentifierRespiratoryRate,
  oxygen_saturation: HKQuantityTypeIdentifierOxygenSaturation,
  peripheral_perfusion_index: HKQuantityTypeIdentifierPeripheralPerfusionIndex,
  blood_glucose: HKQuantityTypeIdentifierBloodGlucose,
  number_of_times_fallen: HKQuantityTypeIdentifierNumberOfTimesFallen,
  electrodermal_activity: HKQuantityTypeIdentifierElectrodermalActivity,
  inhaler_usage: HKQuantityTypeIdentifierInhalerUsage,
  blood_alcohol_content: HKQuantityTypeIdentifierBloodAlcoholContent,
  forced_vital_capacity: HKQuantityTypeIdentifierForcedVitalCapacity,
  forced_expiratory_volume1: HKQuantityTypeIdentifierForcedExpiratoryVolume1,
  peak_expiratory_flow_rate: HKQuantityTypeIdentifierPeakExpiratoryFlowRate,
  dietary_biotin: HKQuantityTypeIdentifierDietaryBiotin,
  dietary_caffeine: HKQuantityTypeIdentifierDietaryCaffeine,
  dietary_calcium: HKQuantityTypeIdentifierDietaryCalcium,
  dietary_carbohydrates: HKQuantityTypeIdentifierDietaryCarbohydrates,
  dietary_chloride: HKQuantityTypeIdentifierDietaryChloride,
  dietary_cholesterol: HKQuantityTypeIdentifierDietaryCholesterol,
  dietary_chromium: HKQuantityTypeIdentifierDietaryChromium,
  dietary_copper: HKQuantityTypeIdentifierDietaryCopper,
  dietary_energy_consumed: HKQuantityTypeIdentifierDietaryEnergyConsumed,
  dietary_fat_monounsaturated: HKQuantityTypeIdentifierDietaryFatMonounsaturated,
  dietary_fat_polyunsaturated: HKQuantityTypeIdentifierDietaryFatPolyunsaturated,
  dietary_fat_saturated: HKQuantityTypeIdentifierDietaryFatSaturated,
  dietary_fat_total: HKQuantityTypeIdentifierDietaryFatTotal,
  dietary_fiber: HKQuantityTypeIdentifierDietaryFiber,
  dietary_folate: HKQuantityTypeIdentifierDietaryFolate,
  dietary_iodine: HKQuantityTypeIdentifierDietaryIodine,
  dietary_iron: HKQuantityTypeIdentifierDietaryIron,
  dietary_magnesium: HKQuantityTypeIdentifierDietaryMagnesium,
  dietary_manganese: HKQuantityTypeIdentifierDietaryManganese,
  dietary_molybdenum: HKQuantityTypeIdentifierDietaryMolybdenum,
  dietary_niacin: HKQuantityTypeIdentifierDietaryNiacin,
  dietary_pantothenic_acid: HKQuantityTypeIdentifierDietaryPantothenicAcid,
  dietary_phosphorus: HKQuantityTypeIdentifierDietaryPhosphorus,
  dietary_potassium: HKQuantityTypeIdentifierDietaryPotassium,
  dietary_protein: HKQuantityTypeIdentifierDietaryProtein,
  dietary_riboflavin: HKQuantityTypeIdentifierDietaryRiboflavin,
  dietary_selenium: HKQuantityTypeIdentifierDietarySelenium,
  dietary_sodium: HKQuantityTypeIdentifierDietarySodium,
  dietary_sugar: HKQuantityTypeIdentifierDietarySugar,
  dietary_thiamin: HKQuantityTypeIdentifierDietaryThiamin,
  dietary_vitamin_a: HKQuantityTypeIdentifierDietaryVitaminA,
  dietary_vitamin_b12: HKQuantityTypeIdentifierDietaryVitaminB12,
  dietary_vitamin_b6: HKQuantityTypeIdentifierDietaryVitaminB6,
  dietary_vitamin_c: HKQuantityTypeIdentifierDietaryVitaminC,
  dietary_vitamin_d: HKQuantityTypeIdentifierDietaryVitaminD,
  dietary_vitamin_e: HKQuantityTypeIdentifierDietaryVitaminE,
  dietary_vitamin_k: HKQuantityTypeIdentifierDietaryVitaminK,
  dietary_zinc: HKQuantityTypeIdentifierDietaryZinc,
  sleep_analysis: HKCategoryTypeIdentifierSleepAnalysis,
  biological_sex: HKCharacteristicTypeIdentifierBiologicalSex,
  blood_type: HKCharacteristicTypeIdentifierBloodType,
  date_of_birth: HKCharacteristicTypeIdentifierDateOfBirth,
  blood_pressure: HKCorrelationTypeIdentifierBloodPressure,
  food: HKCorrelationTypeIdentifierFood,
  workout: HKWorkoutTypeIdentifier
}

Instance Method Summary collapse

Instance Method Details

#object_type(type) ⇒ Object



79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/medic/types.rb', line 79

def object_type(type)
  return type if type.is_a? HKObjectType
  case type
  when :workout
    HKObjectType.workoutType
  when :sleep_analysis
    HKObjectType.categoryTypeForIdentifier type_identifier(type)
  when :biological_sex, :blood_type, :date_of_birth
    HKObjectType.characteristicTypeForIdentifier type_identifier(type)
  when :blood_pressure, :food
    HKObjectType.correlationTypeForIdentifier type_identifier(type)
  else
    HKObjectType.quantityTypeForIdentifier type_identifier(type)
  end
end

#type_identifier(type) ⇒ Object



95
96
97
# File 'lib/medic/types.rb', line 95

def type_identifier(type)
  type.is_a?(Symbol) ? TYPE_IDENTIFIERS[type] : type
end