Class: Notebroker::Markdown

Inherits:
Object
  • Object
show all
Extended by:
Dry::Initializer, Callable
Defined in:
lib/notebroker/markdown.rb

Constant Summary collapse

InvalidSource =
Class.new(Error)

Instance Method Summary collapse

Instance Method Details

#callObject



12
13
14
15
16
17
18
19
20
# File 'lib/notebroker/markdown.rb', line 12

def call
  parsed = JSON.parse(source, symbolize_names: true)
  result = Lexer.call(parsed[:cells])
  result
    .filter_map(&:to_markdown)
    .join("\n")
rescue JSON::ParserError
  raise InvalidSource
end