Module: Textus::Entry
- Defined in:
- lib/textus/entry.rb,
lib/textus/entry/base.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
Classes: Base, 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
13
14
15
|
# File 'lib/textus/entry.rb', line 13
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
17
18
19
|
# File 'lib/textus/entry.rb', line 17
def self.parse(raw, path: nil, format: "markdown")
for_format(format).parse(raw, path: path)
end
|
.serialize(meta: {}, body: "", content: nil, format: "markdown") ⇒ Object
21
22
23
|
# File 'lib/textus/entry.rb', line 21
def self.serialize(meta: {}, body: "", content: nil, format: "markdown")
for_format(format).serialize(meta: meta, body: body, content: content)
end
|