Sha256: 069f21fd4288317af1ec5e695d6c78064ebbafceaf4e97b1027ba54970f57f81
Contents?: true
Size: 1.29 KB
Versions: 1
Compression:
Stored size: 1.29 KB
Contents
# frozen_string_literal: true module Onebox module Engine class GithubFolderOnebox include Engine include StandardEmbed include LayoutSupport matches_regexp Regexp.new(/^https?:\/\/(?:www\.)?(?:(?:\w)+\.)?(github)\.com[\:\d]*(\/\w*){2}\/tree/) always_https private def data og = get_opengraph max_length = 250 display_path = extract_path(og.url, max_length) display_description = clean_description(og.description, og.title, max_length) { link: og.url, path_link: url, image: og.image, title: og.title, path: display_path, description: display_description, favicon: get_favicon } end def extract_path(root, max_length) path = url.split('#')[0].split('?')[0] path = path["#{root}/tree/".length..-1] path.length > max_length ? path[-max_length..-1] : path end def clean_description(description, title, max_length) return unless description desc_end = " - #{title}" if description[-desc_end.length..-1] == desc_end description = description[0...-desc_end.length] end Onebox::Helpers.truncate(description, max_length) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
onebox-2.1.7 | lib/onebox/engine/github_folder_onebox.rb |