Class: Asaner::Client
- Inherits:
-
Object
- Object
- Asaner::Client
- Defined in:
- lib/asaner/client.rb
Constant Summary collapse
- ENDPOINT =
'https://app.asana.com/'- API_VERSION =
'1.0'
Instance Method Summary collapse
-
#initialize(access_token) ⇒ Client
constructor
A new instance of Client.
- #me ⇒ Object
- #project(project_id) ⇒ Object
- #project_status(project_status_id) ⇒ Object
- #project_statuses_from_project(project_id, option_fields = []) ⇒ Object
- #projects_from_workspace(workspace_id, option_fields = []) ⇒ Object
- #section(section_id) ⇒ Object
- #sections_from_project(project_id, option_fields = []) ⇒ Object
- #stories_from_task(task_id) ⇒ Object
- #subtasks_from_task(task_id, option_fields = []) ⇒ Object
- #task(task_id, option_fields = []) ⇒ Object
- #tasks_from_section(section_id, option_fields = []) ⇒ Object
- #workspace(workspace_id) ⇒ Object
- #workspaces(option_fields = []) ⇒ Object
Constructor Details
#initialize(access_token) ⇒ Client
Returns a new instance of Client.
6 7 8 9 10 11 12 |
# 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. :Bearer,access_token end end |
Instance Method Details
#me ⇒ Object
14 15 16 17 18 19 |
# 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) ⇒ Object
45 46 47 48 49 50 |
# 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) ⇒ Object
52 53 54 55 56 57 |
# 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 = []) ⇒ Object
59 60 61 62 63 64 65 |
# 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 = []) ⇒ Object
36 37 38 39 40 41 42 43 |
# 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) ⇒ Object
75 76 77 78 79 80 |
# 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 = []) ⇒ Object
67 68 69 70 71 72 73 |
# 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) ⇒ Object
104 105 106 107 108 109 |
# 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 = []) ⇒ Object
97 98 99 100 101 102 |
# 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 = []) ⇒ Object
90 91 92 93 94 95 |
# 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 = []) ⇒ Object
82 83 84 85 86 87 88 |
# 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) ⇒ Object
29 30 31 32 33 34 |
# 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 = []) ⇒ Object
21 22 23 24 25 26 27 |
# 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 |