class SinatraClient

Constants

VERSION

Attributes

current_user_id[RW]
url[RW]

Public Class Methods

new(current_user_id = nil) click to toggle source
# File lib/sinatra_client.rb, line 9
def initialize(current_user_id = nil)
  @current_user_id = current_user_id
  @url = URI::HTTP.build(userinfo: "#{ENV['API_NAME']}:#{ENV['API_PASSWORD']}", host: ENV['SINATRA_HOST'], port: ENV['SINATRA_PORT'], path: '/api/v1')
end

Public Instance Methods

create_comment_for_post(post_id, comment) click to toggle source
# File lib/sinatra_client.rb, line 48
def create_comment_for_post(post_id, comment)
  url.path << "/posts/#{post_id}/comments"
  parse RestClient.post(url.to_s, comment)
end
create_or_delete_like(post_id, liker_id) click to toggle source
# File lib/sinatra_client.rb, line 59
def create_or_delete_like(post_id, liker_id)
  url.path << "/posts/#{post_id}/toggle_like"
  parse RestClient.post(url.to_s, liker_id)
end
create_post(post) click to toggle source
# File lib/sinatra_client.rb, line 20
def create_post(post)
  url.path << '/posts'
  parse RestClient.post(url.to_s, post)
end
delete_comment(post_id, comment_guid) click to toggle source
# File lib/sinatra_client.rb, line 53
def delete_comment(post_id, comment_guid)
  url.path << "/posts/#{post_id}/comments/#{comment_guid}"
  url.query = URI.encode_www_form({ current_user: current_user_id })
  parse RestClient.delete(url.to_s)
end
delete_post(post_id) click to toggle source
# File lib/sinatra_client.rb, line 25
def delete_post(post_id)
  url.path << "/posts/#{post_id}"
  url.query = URI.encode_www_form({ current_user: current_user_id })
  parse RestClient.delete(url.to_s)
end
delete_posts_for(postable_id, postable_type) click to toggle source
# File lib/sinatra_client.rb, line 31
def delete_posts_for(postable_id, postable_type)
  url.path << "/postable/#{postable_id}/posts"
  url.query = URI.encode_www_form({ postable_type: postable_type })
  parse RestClient.delete(url.to_s)
end
get_group_posts(group_id, page) click to toggle source
# File lib/sinatra_client.rb, line 37
def get_group_posts(group_id, page)
  url.path << "/groups/#{group_id}/posts"
  url.query = URI.encode_www_form({ page: page })
  parse RestClient.get(url.to_s)
end
get_likers(post_id) click to toggle source
# File lib/sinatra_client.rb, line 64
def get_likers(post_id)
  url.path << "/posts/#{post_id}/likers"
  parse RestClient.get(url.to_s)
end
get_user_posts(user_id, page) click to toggle source
# File lib/sinatra_client.rb, line 14
def get_user_posts(user_id, page)
  url.path << "/users/#{user_id}/posts"
  url.query = URI.encode_www_form({ page: page })
  parse RestClient.get(url.to_s)
end
get_user_posts_comment(post_id) click to toggle source
# File lib/sinatra_client.rb, line 43
def get_user_posts_comment(post_id)
  url.path << "/posts/#{post_id}/comments"
  parse RestClient.get(url.to_s)
end

Private Instance Methods

parse(response) click to toggle source
# File lib/sinatra_client.rb, line 71
def parse(response)
  JSON.parse(response.body)
end