Sha256: 0ff2ff8fb380fa03464d920217c6b49fb5b2144731390fbf8c591116d1ff0dd6

Contents?: true

Size: 723 Bytes

Versions: 2

Compression:

Stored size: 723 Bytes

Contents

require 'set'
require_relative 'formats'
module DuperVisor
  class Renderer
    include DuperVisor::Formats::Accessors

    attr_accessor :output, :content_hash, :rendered_content

    def initialize(content_hash, output_stream = nil)
      raise ArgumentError.new('Invalid arguments - expecting a stream and a hash') unless content_hash.is_a?(Hash)
      self.output  = output_stream
      self.content_hash = content_hash
    end

    def render(format)
      self.rendered_content = self.formats[format].to.call(content_hash)
      if output.respond_to?(:puts)
        output.puts rendered_content
        output.close if output.respond_to?(:close) && output != STDOUT
      end
      rendered_content
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dupervisor-1.0.3 lib/dupervisor/renderer.rb
dupervisor-1.0.2 lib/dupervisor/renderer.rb