module Fratterhorn
Constants
- FRONTMATTER_PATTERN
- VERSION
Public Class Methods
parse(text, option: {})
click to toggle source
# File lib/fratterhorn/parse.rb, line 8 def self.parse(text, option: {}) @text = text @option = option @raw_frontmatter = '' @raw_frontmatter = get_frontmatter @frontmatter = YAML.safe_load(@raw_frontmatter).transform_keys!(&:to_sym) guess_value_type if @option.dig(:guess) @frontmatter end
Private Class Methods
get_frontmatter()
click to toggle source
# File lib/fratterhorn/parse.rb, line 22 def self.get_frontmatter FRONTMATTER_PATTERN.match(@text).to_a.first end
guess_value_type()
click to toggle source
# File lib/fratterhorn/parse.rb, line 27 def self.guess_value_type @frontmatter.each do |key, value| case key when :date, :time, :datetime @frontmatter[key] = Time.parse(value) end end end