travis-api/lib/travis/model/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

29 lines
670 B
Ruby

require "active_record"
require "addressable/uri"
require 'travis/event'
class Annotation < ActiveRecord::Base
include Travis::Event
belongs_to :job
belongs_to :annotation_provider
attr_accessible :description, :url, :job_id, :status
validates :job_id, presence: true
validates :description, presence: true
validate :validate_url_scheme
private
def validate_url_scheme
return unless self.url
uri = Addressable::URI.parse(self.url)
unless %w[http https].include?(uri.scheme)
errors.add(:url, 'URL must use http or https scheme')
end
rescue Addressable::URI::InvalidURIError
errors.add(:url, 'URL is invalid')
end
end