class Casica::Client

Public Class Methods

new(token:) click to toggle source
# File lib/casica/client.rb, line 3
def initialize(token:)
  @token = token
end

Public Instance Methods

create_story(project_id:, attributes: {}) click to toggle source
# File lib/casica/client.rb, line 19
def create_story(project_id:, attributes: {})
  api(:post, "/projects/#{project_id}/stories", story: attributes)
end
create_task(project_id:, story_serial_num:, attributes: {}) click to toggle source
# File lib/casica/client.rb, line 35
def create_task(project_id:, story_serial_num:, attributes: {})
  api(:post, "/projects/#{project_id}/stories/#{story_serial_num}/tasks", task: attributes)
end
destroy_story(project_id:, story_serial_num:) click to toggle source
# File lib/casica/client.rb, line 27
def destroy_story(project_id:, story_serial_num:)
  api(:delete, "/projects/#{project_id}/stories/#{story_serial_num}")
end
destroy_task(project_id:, story_serial_num:, task_serial_num:) click to toggle source
# File lib/casica/client.rb, line 43
def destroy_task(project_id:, story_serial_num:, task_serial_num:)
  api(:delete, "/projects/#{project_id}/stories/#{story_serial_num}/tasks/#{task_serial_num}")
end
projects() click to toggle source
# File lib/casica/client.rb, line 7
def projects
  api(:get, '/projects')
end
stories(project_id:) click to toggle source
# File lib/casica/client.rb, line 11
def stories(project_id:)
  api(:get, "/projects/#{project_id}/stories")
end
tasks(project_id:, story_serial_num:) click to toggle source
# File lib/casica/client.rb, line 15
def tasks(project_id:, story_serial_num:)
  api(:get, "/projects/#{project_id}/stories/#{story_serial_num}/tasks")
end
update_story(project_id:, story_serial_num:, attributes: {}) click to toggle source
# File lib/casica/client.rb, line 23
def update_story(project_id:, story_serial_num:, attributes: {})
  api(:patch, "/projects/#{project_id}/stories/#{story_serial_num}", story: attributes)
end
update_story_status(project_id:, from_status:, to_status:) click to toggle source
# File lib/casica/client.rb, line 31
def update_story_status(project_id:, from_status:, to_status:)
  api(:patch, "/projects/#{project_id}/stories/statuses", status: { from_status: from_status, to_status: to_status })
end
update_task(project_id:, story_serial_num:, task_serial_num:, attributes: {}) click to toggle source
# File lib/casica/client.rb, line 39
def update_task(project_id:, story_serial_num:, task_serial_num:, attributes: {})
  api(:patch, "/projects/#{project_id}/stories/#{story_serial_num}/tasks/#{task_serial_num}", task: attributes)
end
update_task_status(project_id:, from_status:, to_status:) click to toggle source
# File lib/casica/client.rb, line 47
def update_task_status(project_id:, from_status:, to_status:)
  api(:patch, "/projects/#{project_id}/tasks/statuses", status: { from_status: from_status, to_status: to_status })
end

Private Instance Methods

api(method, path, args = nil) click to toggle source
# File lib/casica/client.rb, line 53
def api(method, path, args = nil)
  Casica::Response.new(request.send(:request, method, path, args)).response
end
request() click to toggle source
# File lib/casica/client.rb, line 57
def request
  @request ||= Casica::Request.new(token: @token)
end