Sha256: a68da24fd8b2c6b341f609b98fcd4b2e8568052991bd1db4050a1c9d984f6280

Contents?: true

Size: 810 Bytes

Versions: 1

Compression:

Stored size: 810 Bytes

Contents

require "rubygems"
begin
  require "rdiscount"
rescue LoadError
  require "kramdown"
end
require "cgi"
require "tempfile"
require "yaml"

module Murdoc
  class Paragraph
    attr_accessor :source
    attr_accessor :annotation
    attr_accessor :source_type
    attr_accessor :starting_line
    attr_accessor :metadata

    def initialize(source, annotation, starting_line = 0, source_type = nil)
      self.source = source
      self.annotation = annotation
      self.starting_line = starting_line
      self.source_type = source_type
      extract_metadata!
    end

    def extract_metadata!
      if annotation =~ /(.*\n)?^---!([^\n]*)\n?(.*)\z/m
        self.metadata = Murdoc.try_load_yaml($2)
        self.annotation = $1.to_s + $3.to_s
      else
        self.metadata = {}
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
murdoc-0.2.1 lib/murdoc/paragraph.rb