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.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/nike_v2/activities.rb', line 28

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



51
52
53
54
55
56
# File 'lib/nike_v2/activities.rb', line 51

def fetch_all
  until (self.paging['next'].nil? || self.paging['next'] == '') do
    fetch_and_build_activities 
  end
  self
end

#fetch_moreObject



44
45
46
47
48
49
# File 'lib/nike_v2/activities.rb', line 44

def fetch_more
  unless self.paging['next'].nil? || self.paging['next'] == ''
    fetch_and_build_activities 
  end
  self
end

#pagingObject



58
59
60
# File 'lib/nike_v2/activities.rb', line 58

def paging
  @paging ||= ''
end