require_relative '../mixins/git_blob_onebox' module Onebox module Engine class GitlabBlobOnebox def self.git_regexp /^https?:\/\/(www\.)?gitlab\.com.*\/blob\// end def self.onebox_name "gitlabblob" end include Onebox::Mixins::GitBlobOnebox def raw_regexp /gitlab\.com\/(?[^\/]+)\/(?[^\/]+)\/blob\/(?[^\/]+)\/(?[^#]+)(#(L(?[^-]*)(-L(?.*))?))?/mi end def raw_template(m) "https://gitlab.com/#{m[:user]}/#{m[:repo]}/raw/#{m[:sha1]}/#{m[:file]}" end def title Sanitize.fragment(URI.unescape(link).sub(/^https?\:\/\/gitlab\.com\//, '')) end end end end