Class: NikeV2::Activity

Inherits:
Resource show all
Extended by:
Forwardable
Defined in:
lib/nike_v2/activity.rb

Constant Summary collapse

API_URL =
'/me/sport/activities'

Constants inherited from Resource

Resource::RESP_MSG_INVALID_TOKEN

Instance Method Summary collapse

Methods inherited from Resource

#fetch_data, #get

Constructor Details

#initialize(attributes = {}) ⇒ Activity

Returns a new instance of Activity.



17
18
19
20
21
22
# File 'lib/nike_v2/activity.rb', line 17

def initialize(attributes = {})
  raise "#{self.class} requires s person." unless attributes.keys.include?(:person)
  raise "#{self.class} requires an activityId." unless attributes.keys.include?('activityId')

  super(attributes)
end

Instance Method Details

#gps_dataObject



24
25
26
# File 'lib/nike_v2/activity.rb', line 24

def gps_data
  @gps_data ||= NikeV2::GpsData.new(:activity => self)
end

#load_dataObject



33
34
35
36
37
38
39
# File 'lib/nike_v2/activity.rb', line 33

def load_data
  data = fetch_data
  @metrics = NikeV2::Metrics.new(self, data.delete('metrics'))

  set_attributes(data)
  true
end

#metricsObject



28
29
30
31
# File 'lib/nike_v2/activity.rb', line 28

def metrics
  load_data unless @metrics
  @metrics
end

#started_atObject



41
42
43
# File 'lib/nike_v2/activity.rb', line 41

def started_at
  @started_at ||= Time.parse(self.start_time.gsub(/Z$/,'') + " #{self.activity_time_zone}")
end