lib/onebox/engine/github_issue_onebox.rb in onebox-1.5.21 vs lib/onebox/engine/github_issue_onebox.rb in onebox-1.5.22
- old
+ new
@@ -3,11 +3,12 @@
class GithubIssueOnebox
#Author Lidlanca 2014
include Engine
include LayoutSupport
include JSON
- matches_regexp Regexp.new("^http(?:s)?:\/\/(?:www\.)?(?:(?:\w)+\.)?github\.com\/(?<org>.+)\/(?<repo>.+)\/issues\/([[:digit:]]+)")
+ matches_regexp Regexp.new("^https?:\/\/(?:www\.)?(?:(?:\w)+\.)?github\.com\/(?<org>.+)\/(?<repo>.+)\/issues\/([[:digit:]]+)")
+ always_https
def url
m = match
"https://api.github.com/repos/#{m["org"]}/#{m["repo"]}/issues/#{m["item_id"]}"
end
@@ -27,21 +28,22 @@
content_words = body_text.gsub("\n\n","\n").gsub("\n","<br>").split(" ") #one pass of removing double newline, then we change \n to <br> and later on we revert it back to \n this is a workaround to avoid losing newlines after we join it back.
max_words = 20
short_content = content_words[0..max_words].join(" ")
short_content << "..." if content_words.length > max_words
+ ulink = URI(link)
status_color = {"open"=>"#6cc644","closed"=>"#bd2c00","merged"=>"#6e5494"}
result = { link: @url,
title: "Issue: " + @raw["title"],
content: short_content.gsub("<br>","\n"),
labels: @raw["labels"],
user: @raw['user'],
created_at: @raw['created_at'].split("T")[0], #get only date for now
closed_at: (@raw['closed_at'].nil? ? "" : @raw['closed_at'].split("T")[0]),
closed_by: @raw['closed_by'],
avatar: "https://avatars1.githubusercontent.com/u/#{@raw['user']['id']}?v=2&s=96",
- repository_path: "#{URI(link).host}/#{URI(link).path.split('/')[1]}/#{URI(link).path.split('/')[2]}",
- repository_url: "https://#{URI(link).host}/#{URI(link).path.split('/')[1]}/#{URI(link).path.split('/')[2]}",
+ repository_path: "#{ulink.host}/#{ulink.path.split('/')[1]}/#{ulink.path.split('/')[2]}",
+ repository_url: "https://#{ulink.host}/#{ulink.path.split('/')[1]}/#{ulink.path.split('/')[2]}",
}
end
end
end
end