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