Class: Vedeu::Renderers::JSON

Inherits:
File
  • Object
show all
Defined in:
lib/vedeu/output/renderers/json.rb

Overview

Renders a Terminal::Buffer as JSON.

Instance Method Summary collapse

Methods included from Vedeu::RendererOptions

#defaults, #options

Constructor Details

#initialize(options = {}) ⇒ Vedeu::Renderers::JSON

Returns a new instance of Vedeu::Renderers::JSON.

Parameters:

  • options (Hash) (defaults to: {})


13
14
15
# File 'lib/vedeu/output/renderers/json.rb', line 13

def initialize(options = {})
  @options = options || {}
end

Instance Method Details

#as_hash(output) ⇒ Array (private)

Parameters:

Returns:

  • (Array)


37
38
39
# File 'lib/vedeu/output/renderers/json.rb', line 37

def as_hash(output)
  output.content.map(&:to_hash)
end

#parse(output) ⇒ String (private)

Parameters:

Returns:

  • (String)


31
32
33
# File 'lib/vedeu/output/renderers/json.rb', line 31

def parse(output)
  ::JSON.pretty_generate(as_hash(output))
end

#render(output) ⇒ String

Parameters:

Returns:

  • (String)


19
20
21
22
23
24
25
# File 'lib/vedeu/output/renderers/json.rb', line 19

def render(output)
  json = parse(output)

  super(json)

  json
end