class Grandfather::Code
Public Class Methods
new()
click to toggle source
# File lib/grandfather/code.rb, line 6 def initialize @code_blocks = [] end
Public Instance Methods
extract(data)
click to toggle source
# File lib/grandfather/code.rb, line 10 def extract(data) data.gsub!(/^``` ?([^\r\n]+)?\r?\n(.+?)\r?\n```\r?$/m) do id = Digest::SHA1.hexdigest($2) @code_blocks << CodeBlock.new(id, $1, $2) end data end
process(data)
click to toggle source
# File lib/grandfather/code.rb, line 18 def process(data) return data if data.nil? || data.size.zero? || @code_blocks.size.zero? @code_blocks.each do |block| data.gsub!(block.id, block.highlighted) end data end