class ClickUp::ConnectionManager

Attributes

data[R]
path[R]

Public Class Methods

new(path, data) click to toggle source
# File lib/click_up/connection_manager.rb, line 7
def initialize(path, data)
  @path = path
  @data = data
end

Public Instance Methods

delete() click to toggle source
# File lib/click_up/connection_manager.rb, line 23
def delete
  net_http_response = https_client.delete(resource_url.path, default_headers)
  format_response(net_http_response.body)
end
get() click to toggle source
# File lib/click_up/connection_manager.rb, line 12
def get
  net_http_response = https_client.request_get(resource_url.path, default_headers)
  format_response(net_http_response.body)
end
post() click to toggle source
# File lib/click_up/connection_manager.rb, line 17
def post
  form_data = data.to_json if data.is_a?(Hash) && data.size > 0
  net_http_response = https_client.request_post(resource_url.path, form_data, default_headers)
  format_response(net_http_response.body)
end

Private Instance Methods

api_base() click to toggle source
# File lib/click_up/connection_manager.rb, line 39
def api_base
  "https://api.clickup.com"
end
default_headers() click to toggle source
# File lib/click_up/connection_manager.rb, line 43
def default_headers
  {
    'Content-Type' => 'application/json',
    'Authorization' => ClickUp.api_token
  }
end
format_response(net_http_response) click to toggle source
# File lib/click_up/connection_manager.rb, line 50
def format_response(net_http_response)
  JSON.parse(net_http_response)
end
https_client() click to toggle source
# File lib/click_up/connection_manager.rb, line 54
def https_client
  https = Net::HTTP.new(resource_url.host, resource_url.port)
  https.use_ssl = true
  https
end
namespace() click to toggle source
# File lib/click_up/connection_manager.rb, line 35
def namespace
  "/api/v2"
end
resource_url() click to toggle source
# File lib/click_up/connection_manager.rb, line 29
def resource_url
  uri = URI("#{api_base}#{namespace}#{path}")
  uri.query = URI.encode_www_form(data) if data.size > 0
  uri
end