class TrackerApi::Endpoints::Attachment
Attributes
client[RW]
Public Class Methods
new(client)
click to toggle source
# File lib/tracker_api/endpoints/attachment.rb, line 6 def initialize(client) @client = client end
Public Instance Methods
create(comment, file)
click to toggle source
# File lib/tracker_api/endpoints/attachment.rb, line 10 def create(comment, file) data = client.post("/projects/#{comment.project_id}/uploads", body: FileUtility.get_file_upload(file)).body Resources::FileAttachment.new({ comment: comment }.merge(data)) end
get(comment)
click to toggle source
TODO : Discuss before implementing this as it orphans the file. It deletes source, but the file name appears in the comments def delete(comment, file_attachment_id)
client.delete("/projects/#{comment.project_id}/stories/#{comment.story_id}/comments/#{comment.id}/file_attachments/#{file_attachment_id}").body
end
# File lib/tracker_api/endpoints/attachment.rb, line 21 def get(comment) comment_target_slug = !comment.story_id.nil? ? "stories/#{comment.story_id}" : "epics/#{comment.epic_id}" data = client.get("/projects/#{comment.project_id}/#{comment_target_slug}/comments/#{comment.id}?fields=file_attachments").body["file_attachments"] raise Errors::UnexpectedData, 'Array of file attachments expected' unless data.is_a? Array data.map do |file_attachment| Resources::FileAttachment.new({ comment: comment }.merge(file_attachment)) end end