class JiraToSlack
Public Class Methods
convert(string)
click to toggle source
# File lib/jira-to-slack.rb, line 2 def self.convert(string) # striketrhough string.gsub!(/(^| )-(\b.*?)-( |$)/) {|e| "#{$1}~#{$2}~#{$3}"} # bullets string.gsub!(/(^|\n)(\*+?)( [^\*]*?)(\n|$)/m) {|e| "#{$1}#{"\t" * ($2 ? ($2.length - 1) : 0)}\u2022#{$3}#{$4}"} # numbered lists number_count = 0 string.gsub!(/^# /) {|e| number_count += 1; "#{number_count}. "} # inline code string.gsub!(/\{\{(.*?)\}\}/) {|e| "`#{$1}`"} # multiline code string.gsub!(/\{code\}/,"```") # link string.gsub!(/\[([^~|]*?)\]/) {|e| "#{$1}"} # link with alias string.gsub!(/\[(.*?)\|(.*?)\]/) {|e| "<#{$2}|#{$1}>"} # users string.gsub!(/\[\~(.*?)\]/) {|e| "<@#{$1}>"} # blockquote string.gsub!(/^bq\./, ">") # multiline quote string.gsub!(/\{quote\}(.*?)\{quote\}/m) {|e| "#{$1.split("\n").map{|f| "> #{f}"}.join("\n")}"} # headings string.gsub!(/^h[0-9]\. (.*?)$/) {|e| "*#{$1.strip}*"} string end