class Asaner::Client
Constants
- API_VERSION
- ENDPOINT
Public Class Methods
new(access_token)
click to toggle source
# File lib/asaner/client.rb, line 6 def initialize(access_token) @client = Faraday.new(url: "#{ENDPOINT}") do |faraday| faraday.request :url_encoded faraday.adapter Faraday.default_adapter faraday.authorization :Bearer,access_token end end
Public Instance Methods
me()
click to toggle source
# File lib/asaner/client.rb, line 14 def me response = @client.get do |request| request.url "api/#{API_VERSION}/users/me" end parse(response) end
project(project_id)
click to toggle source
# File lib/asaner/client.rb, line 45 def project(project_id) response = @client.get do |request| request.url "api/#{API_VERSION}/projects/#{project_id}" end parse(response) end
project_status(project_status_id)
click to toggle source
# File lib/asaner/client.rb, line 52 def project_status(project_status_id) response = @client.get do |request| request.url "api/#{API_VERSION}//project_statuses/#{project_status_id}" end parse(response) end
project_statuses_from_project(project_id, option_fields=[])
click to toggle source
# File lib/asaner/client.rb, line 59 def project_statuses_from_project(project_id, option_fields=[]) response = @client.get do |request| request.url "api/#{API_VERSION}/projects/#{project_id}/project_statuses" request.params['opt_fields'] = option_fields.join(',') end parse(response) end
projects_from_workspace(workspace_id, option_fields=[])
click to toggle source
# File lib/asaner/client.rb, line 36 def projects_from_workspace(workspace_id, option_fields=[]) response = @client.get do |request| request.url "api/#{API_VERSION}/projects" request.params['workspace'] = workspace_id request.params['opt_fields'] = option_fields.join(',') end parse(response) end
section(section_id)
click to toggle source
# File lib/asaner/client.rb, line 75 def section(section_id) response = @client.get do |request| request.url "api/#{API_VERSION}/sections/#{section_id}" end parse(response) end
sections_from_project(project_id, option_fields=[])
click to toggle source
# File lib/asaner/client.rb, line 67 def sections_from_project(project_id, option_fields=[]) response = @client.get do |request| request.url "api/#{API_VERSION}/projects/#{project_id}/sections" request.params['opt_fields'] = option_fields.join(',') end parse(response) end
stories_from_task(task_id)
click to toggle source
# File lib/asaner/client.rb, line 104 def stories_from_task(task_id) response = @client.get do |request| request.url "api/#{API_VERSION}/tasks/#{task_id}/stories" end parse(response) end
subtasks_from_task(task_id, option_fields=[])
click to toggle source
# File lib/asaner/client.rb, line 97 def subtasks_from_task(task_id, option_fields=[]) response = @client.get do |request| request.url "api/#{API_VERSION}/tasks/#{task_id}/subtasks" end parse(response) end
task(task_id, option_fields=[])
click to toggle source
# File lib/asaner/client.rb, line 90 def task(task_id, option_fields=[]) response = @client.get do |request| request.url "api/#{API_VERSION}/tasks/#{task_id}" end parse(response) end
tasks_from_section(section_id, option_fields=[])
click to toggle source
# File lib/asaner/client.rb, line 82 def tasks_from_section(section_id, option_fields=[]) response = @client.get do |request| request.url "api/#{API_VERSION}/sections/#{section_id}/tasks" request.params['opt_fields'] = option_fields.join(',') end parse(response) end
workspace(workspace_id)
click to toggle source
# File lib/asaner/client.rb, line 29 def workspace(workspace_id) response = @client.get do |request| request.url "api/#{API_VERSION}/workspaces/#{workspace_id}" end parse(response) end
workspaces(option_fields=[])
click to toggle source
# File lib/asaner/client.rb, line 21 def workspaces(option_fields=[]) response = @client.get do |request| request.url "api/#{API_VERSION}/workspaces" request.params['opt_fields'] = option_fields.join(',') end parse(response) end
Private Instance Methods
parse(response)
click to toggle source
# File lib/asaner/client.rb, line 113 def parse(response) { status: response.status, headers: response.headers, reason_phrase: response.reason_phrase, body: JSON.parse(response.body), } end