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