class TunefishClient::Client
Attributes
connection[R]
Public Class Methods
new(host: "http://tunefi.sh", version: "v1")
click to toggle source
# File lib/tunefish_client/client.rb, line 10 def initialize(host: "http://tunefi.sh", version: "v1") @connection = Faraday.new(url: host) @version = version end
Public Instance Methods
activities()
click to toggle source
# File lib/tunefish_client/client.rb, line 33 def activities response = connection.get("#{base_url}/activities") data = parse_response_body(response.body) build_activity_objects(data["activities"]) end
user(id)
click to toggle source
# File lib/tunefish_client/client.rb, line 15 def user(id) response = connection.get("#{base_url}/users/#{id}") data = parse_response_body(response.body) User.new(data["user"]) end
user_activities(id)
click to toggle source
# File lib/tunefish_client/client.rb, line 27 def user_activities(id) response = connection.get("#{base_url}/users/#{id}/activities") data = parse_response_body(response.body) build_activity_objects(data["activities"]) end
users()
click to toggle source
# File lib/tunefish_client/client.rb, line 21 def users response = connection.get("#{base_url}/users") data = parse_response_body(response.body) data["users"].map { |user_data| User.new(user_data) } end
Private Instance Methods
base_url()
click to toggle source
# File lib/tunefish_client/client.rb, line 45 def base_url "/api/#{@version}" end
build_activity_objects(activities)
click to toggle source
# File lib/tunefish_client/client.rb, line 49 def build_activity_objects(activities) activities.map { |activity_data| Activity.new(activity_data) } end
parse_response_body(body)
click to toggle source
# File lib/tunefish_client/client.rb, line 41 def parse_response_body(body) JSON.parse(body) end