class FitbitLeaderboard::Client

Attributes

token[R]

Public Class Methods

new(token) click to toggle source
# File lib/fitbit_leaderboard/client.rb, line 8
def initialize(token)
  @token = token
end

Public Instance Methods

aggregate_friends_steps() click to toggle source
# File lib/fitbit_leaderboard/client.rb, line 12
def aggregate_friends_steps
  uri = URI("https://api.fitbit.com/1/user/-/friends/leaderboard.json")

  request = Net::HTTP::Get.new(uri)
  request['Authorization'] = "Bearer #{token}"

  response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
    http.request(request)
  end

  data = JSON.parse(response.body)

  total = 0
  data['friends'].each { |friend| total += friend['lifetime']['steps'] }
  total
end