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