Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Format
- ZERO_WIDTH = ""
- def self.i(str)
- "_#{str}_"
- end
- def self.b(str)
- "**#{str}**"
- end
- def self.bi(str)
- "***#{str}***"
- end
- def self.u(str)
- "__#{str}__"
- end
- def self.ui(str)
- "__*#{str}*__"
- end
- def self.ub(str)
- "__**#{str}**__"
- end
- def self.ubi(str)
- "__***#{str}***__"
- end
- def self.strike(str)
- "~~#{str}~~"
- end
- def self.inline(str)
- "`#{str.gsub("`", "'")}`"
- end
- def self.code(str, language: nil)
- str = str.gsub("`") { ZERO_WIDTH * 2 + "`" }
- "```#{language}\n#{str}\n```"
- end
- def self.margin(str, margin: 2)
- "\n" + str.lines.map { |l| " " * margin + l }.join + "\n" * 2
- end
- def self.escape(str)
- str = str.gsub('\\') { "\\\\" }.gsub("_") { '\\_' }
- str = str.gsub("*") { "\\*" }.gsub("`") { ZERO_WIDTH * 2 + "`" }
- str.gsub("~") { "\\~" }
- end
- def self.number(n)
- n = n.to_i if n.to_i == n
- ActiveSupport::NumberHelper.number_to_delimited(n)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement