class BabyTooth::Client

Attributes

access_token[RW]
path[RW]

Public Class Methods

exposes_keys(*keys) click to toggle source
# File lib/baby_tooth/client.rb, line 22
def self.exposes_keys(*keys)
  keys.each do |key|
    define_method key do
      body[key.to_s]
    end
  end
end
new(access_token, path) click to toggle source
# File lib/baby_tooth/client.rb, line 13
def initialize(access_token, path)
  self.access_token = access_token
  self.path = path
end

Public Instance Methods

[](key) click to toggle source
# File lib/baby_tooth/client.rb, line 5
def [](key)
  body[key]
end
body() click to toggle source
# File lib/baby_tooth/client.rb, line 9
def body
  @body ||= retrieve_body
end
resource_class_name() click to toggle source
# File lib/baby_tooth/client.rb, line 18
def resource_class_name
  self.class.name.split('::').last
end

Protected Instance Methods

connection() click to toggle source
# File lib/baby_tooth/client.rb, line 41
def connection
  FaradayStack.build ::BabyTooth.configuration.site
end
retrieve_body() click to toggle source
# File lib/baby_tooth/client.rb, line 32
def retrieve_body
  response = connection.get(path) do |request|
    request.headers['Authorization'] = "Bearer #{access_token}"
    request.headers['Accept'] = "application/vnd.com.runkeeper.#{resource_class_name}+json"
  end

  JSON.parse(response.body)
end