Module: Textus::Format::Shared

Defined in:
lib/textus/format/shared.rb

Constant Summary collapse

ENFORCE_NAME_RE =
/\.(md|json|yaml|yml|txt)\z/i

Class Method Summary collapse

Class Method Details

.enforce_name_match!(path, meta, extensions) ⇒ Object

Raises:



6
7
8
9
10
11
12
13
14
# File 'lib/textus/format/shared.rb', line 6

def self.enforce_name_match!(path, meta, extensions)
  return unless meta.is_a?(Hash) && meta["name"]

  ext = extensions.first
  basename = File.basename(path, ext)
  return if meta["name"] == basename

  raise BadFrontmatter.new(path, "name '#{meta["name"]}' does not match basename '#{basename}'")
end