class Gittr::Client
Public Class Methods
new(token=Gittr.token)
click to toggle source
# File lib/gittr/client.rb, line 7 def initialize(token=Gittr.token) @token = token @headers = {"Accept" => "application/json", "Authorization" => "Bearer #{@token}", "Content-Type" => "application/json"} raise StandardError.new('API Token is missing') unless @token end
Public Instance Methods
create_message(room_id, text)
click to toggle source
# File lib/gittr/client.rb, line 33 def create_message(room_id, text) post_response("/rooms/#{room_id}/chatMessages", {}, {text: text}){ |message| Message.new(message) } end
get_user()
click to toggle source
# File lib/gittr/client.rb, line 41 def get_user # There's only one user in the array, silly... get_response("/user"){ |user| User.new(user.first) } end
join_room(uri)
click to toggle source
# File lib/gittr/client.rb, line 25 def join_room(uri) post_response('/rooms', {uri: uri}){ |room| Room.new(room) } end
list_messages(room_id, params={})
click to toggle source
# File lib/gittr/client.rb, line 29 def list_messages(room_id, params={}) map_get_response("/rooms/#{room_id}/chatMessages", params){ |message| Message.new(message) } end
mark_as_read(user_id, room_id)
click to toggle source
# File lib/gittr/client.rb, line 50 def mark_as_read(user_id, room_id) post_response("/user/#{user_id}/rooms/#{room_id}/unreadItems") end
rooms()
click to toggle source
# File lib/gittr/client.rb, line 13 def rooms map_get_response('/rooms'){ |room| Room.new(room) } end
rooms_channels(room_id)
click to toggle source
# File lib/gittr/client.rb, line 21 def rooms_channels(room_id) map_get_response("/rooms/#{room_id}/channels"){ |channel| Channel.new(channel) } end
rooms_users(room_id)
click to toggle source
# File lib/gittr/client.rb, line 17 def rooms_users(room_id) map_get_response("/rooms/#{room_id}/users"){ |user| User.new(user) } end
update_message(room_id, message_id, text)
click to toggle source
# File lib/gittr/client.rb, line 37 def update_message(room_id, message_id, text) put_response("/rooms/#{room_id}/chatMessages/#{message_id}", {text: text}){ |message| Message.new(message) } end
user_channels(user_id)
click to toggle source
# File lib/gittr/client.rb, line 62 def user_channels(user_id) map_get_response("/user/#{user_id}/channels"){ |channel| Channel.new(channel) } end
user_orgs(user_id)
click to toggle source
# File lib/gittr/client.rb, line 54 def user_orgs(user_id) map_get_response("/user/#{user_id}/orgs"){ |org| Organization.new(org) } end
user_repos(user_id)
click to toggle source
# File lib/gittr/client.rb, line 58 def user_repos(user_id) map_get_response("/user/#{user_id}/repos"){ |repo| Repository.new(repo) } end
user_rooms(user_id)
click to toggle source
# File lib/gittr/client.rb, line 46 def user_rooms(user_id) map_get_response("/user/#{user_id}/rooms"){ |room| Room.new(room) } end
Protected Instance Methods
get_response(uri, params={}) { |response| ... }
click to toggle source
# File lib/gittr/client.rb, line 68 def get_response(uri, params={}, &block) response = self.class.get(uri, headers: @headers, query: params) response = response.parsed_response return response unless block_given? yield response end
map_get_response(uri, params={}) { |response| ... }
click to toggle source
# File lib/gittr/client.rb, line 75 def map_get_response(uri, params={}, &block) get_response(uri, params).map do |response| yield response end end
post_response(uri, params={}, body='') { |response| ... }
click to toggle source
# File lib/gittr/client.rb, line 81 def post_response(uri, params={}, body='', &block) response = self.class.post(uri, headers: @headers, query: params, body: body.to_json) response = response.parsed_response return response unless block_given? yield response end
put_response(uri, body='') { |response| ... }
click to toggle source
# File lib/gittr/client.rb, line 88 def put_response(uri, body='', &block) response = self.class.put(uri, headers: @headers, body: body.to_json) response = response.parsed_response return response unless block_given? yield response end