Class: GarminConnect::User

Inherits:
Object
  • Object
show all
Defined in:
lib/garmin_connect/base.rb,
lib/garmin_connect/activity.rb

Overview

def setup(p = {})

Base.format = p[:format] || :json
Base.auth(p)

end def auth(p = {})

Base.auth(p)

end module_function :auth module_function :setup

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(username, password = nil) ⇒ User

Returns a new instance of User.



14
15
16
17
# File 'lib/garmin_connect/base.rb', line 14

def initialize(username, password = nil)
  # user auth isnt working right now anyways

  @username = username
end

Class Method Details

.baseObject



5
6
7
# File 'lib/garmin_connect/activity.rb', line 5

def base
  'http://connect.garmin.com/proxy/user-service-1.0/'
end

.get(format = nil) ⇒ Object



8
9
10
# File 'lib/garmin_connect/activity.rb', line 8

def get(format = nil)
  Base.request(self.base, format, '/user')
end

Instance Method Details

#activities(limit = 100, start = 1) ⇒ Object



27
28
29
30
# File 'lib/garmin_connect/base.rb', line 27

def activities(limit = 100, start = 1)
  return @activities if @activities
  @activities = activity_list(limit, start).map { |a| Activity.new(a['activityId']) }
end

#activity(arg) ⇒ Object



31
32
33
# File 'lib/garmin_connect/base.rb', line 31

def activity(arg)
  Activity.new(arg)
end

#activity_ids(limit = 100, start = 1) ⇒ Object



23
24
25
# File 'lib/garmin_connect/base.rb', line 23

def activity_ids(limit = 100, start = 1)
  self.activity_list(limit, start).map{ |hash| hash['activityId'] }
end

#activity_list(limit = 100, start = 1) ⇒ Object



18
19
20
21
22
# File 'lib/garmin_connect/base.rb', line 18

def activity_list(limit = 100, start = 1)
  return @activity_list if @activity_list
  uri = URI "http://connect.garmin.com/proxy/activitylist-service/activities/#{@username}?start=#{start}&limit=#{limit}"
  @activity_list = JSON.parse(Net::HTTP.get(uri))['activityList']
end

#most_recent(count = 1) ⇒ Object



34
35
36
# File 'lib/garmin_connect/base.rb', line 34

def most_recent(count = 1)
  count == 1 ? self.activities(1).first : self.activities(count)
end