travis-api/lib/travis/services/update_annotation.rb
Aakriti Gupta 65f1a29d86 Move travis-core files from /vendor to /lib.
- Re-factor
- Remove code for notifications
- Remove addons
- Remove travis-core gem.
- Ignore logs directory only
- Move core tests to spec/lib
2016-07-20 11:22:25 +02:00

37 lines
897 B
Ruby

module Travis
module Services
class UpdateAnnotation < Base
register :update_annotation
def run
if annotations_enabled? && annotation_provider
cached_annotation = annotation
cached_annotation.update_attributes!(attributes)
cached_annotation
end
end
private
def annotations_enabled?
job = Job.find(params[:job_id])
repo = job.repository
Travis::Features.enabled_for_all?(:annotations) || Travis::Features.active?(:annotations, repo)
end
def annotation
annotation_provider.annotation_for_job(params[:job_id])
end
def annotation_provider
@annotation_provider ||= AnnotationProvider.authenticate_provider(params[:username], params[:key])
end
def attributes
params.slice(:description, :status, :url)
end
end
end
end