Module: Textus::Entry
- Defined in:
- lib/textus/entry.rb,
lib/textus/entry/json.rb,
lib/textus/entry/text.rb,
lib/textus/entry/yaml.rb,
lib/textus/entry/markdown.rb
Overview
Public entry-format dispatcher.
Defined Under Namespace
Modules: Json, Markdown, Text, Yaml
Constant Summary
collapse
- SEP =
"---".freeze
- STRATEGIES =
{
"markdown" => Markdown,
"json" => Json,
"yaml" => Yaml,
"text" => Text,
}.freeze
Class Method Summary
collapse
Class Method Details
18
19
20
|
# File 'lib/textus/entry.rb', line 18
def self.for_format(format)
STRATEGIES.fetch(format.to_s) { raise UsageError.new("unknown entry format: #{format.inspect}") }
end
|
.parse(raw, path: nil, format: "markdown") ⇒ Object
22
23
24
|
# File 'lib/textus/entry.rb', line 22
def self.parse(raw, path: nil, format: "markdown")
for_format(format).parse(raw, path: path)
end
|
.serialize(meta: {}, body: "", content: nil, format: "markdown") ⇒ Object
26
27
28
|
# File 'lib/textus/entry.rb', line 26
def self.serialize(meta: {}, body: "", content: nil, format: "markdown")
for_format(format).serialize(meta: meta, body: body, content: content)
end
|