InsulinMetric.swift 813 B

1234567891011121314151617181920212223242526
  1. // LoopFollow
  2. // InsulinMetric.swift
  3. import Foundation
  4. class InsulinMetric: Metric {
  5. init?(from dictionary: [String: AnyObject], key: String) {
  6. guard let value = dictionary[key] as? Double else {
  7. return nil
  8. }
  9. super.init(value: value, maxFractionDigits: 2, minFractionDigits: 0)
  10. }
  11. init?(from object: AnyObject?, key: String) {
  12. guard let dictionary = object as? [String: AnyObject], let value = dictionary[key] as? Double else {
  13. return nil
  14. }
  15. super.init(value: value, maxFractionDigits: 2, minFractionDigits: 0)
  16. }
  17. override func formattedValue() -> String {
  18. let decimals = abs(value) >= 10 ? 0 : 1
  19. return Localizer.formatToLocalizedString(value, maxFractionDigits: decimals, minFractionDigits: 0)
  20. }
  21. }