Class: NikeV2::Activities

Inherits:
Resource show all
Extended by:
Forwardable
Includes:
Enumerable
Defined in:
lib/nike_v2/activities.rb

Constant Summary collapse

API_ARGS =
[:offset, :count, :start_date, :end_date]
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 = {}) ⇒ Activities

Returns a new instance of Activities.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/nike_v2/activities.rb', line 14

def initialize(attributes = {})
  raise "#{self.class} requires a person." unless attributes.keys.include?(:person)
  @build_metrics = attributes.delete(:build_metrics) || false
  api_args = extract_api_args(attributes)
  set_attributes(attributes)
  @activities_array = []


  #TODO: make it pass blocks
  activities = fetch_data(api_args)
  if !activities.nil? && !activities['data'].nil?
    build_activities(activities.delete('data'))
    super(activities)
  end
end

Instance Method Details

#fetch_allObject



36
37
38
39
40
# File 'lib/nike_v2/activities.rb', line 36

def fetch_all
  until self.paging['next'].blank? do
    fetch_and_build_activities 
  end
end

#fetch_moreObject



30
31
32
33
34
# File 'lib/nike_v2/activities.rb', line 30

def fetch_more
  unless self.paging['next'].blank?
    fetch_and_build_activities 
  end
end

#fuelpoints_during(start_time, end_time) ⇒ Object



42
43
44
# File 'lib/nike_v2/activities.rb', line 42

def fuelpoints_during(start_time, end_time)
  #reject activities that are not on the right date
end