Sha256: b49c1ca8f8fefb0dc977f5b60651f4ea593413b9fa69b8a77b6c869c8fdd2238
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
# frozen_string_literal: true module Vedeu module Renderers # Renders a {Vedeu::Buffers::Terminal} as JSON. # class JSON < Vedeu::Renderers::File # Returns a new instance of Vedeu::Renderers::JSON. # # @param options [Hash] # @return [Vedeu::Renderers::JSON] def initialize(options = {}) @options = options || {} end # Render a cleared output. # # @return [String] def clear json = parse({}) super(json, { compression: false }) json end # @param output [Vedeu::Models::Page] # @return [String] def render(output) json = parse(output) super(json, { compression: false }) json end private # @param output [Vedeu::Models::Page] # @return [String] def parse(output) ::JSON.pretty_generate(as_hash(output)) end # @param output [Vedeu::Models::Page] # @return [Array] def as_hash(output) return output if output.is_a?(Hash) output.content.map(&:to_hash) end end # JSON end # Renderers end # Vedeu
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.8.2 | lib/vedeu/renderers/json.rb |
vedeu-0.8.1 | lib/vedeu/renderers/json.rb |