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

24 lines
468 B
Ruby

require 'digest/sha1'
require 'travis/model'
class Url < Travis::Model
validates :url, :presence => true, :uniqueness => true
validates :code, :presence => true, :uniqueness => true
before_validation :set_code, :on => :create
def self.shorten(url)
find_or_create_by_url(url)
end
def short_url
["http://#{Travis.config.shorten_host}", code].join('/')
end
private
def set_code
self.code = Digest::SHA1.hexdigest(url)[0..9]
end
end