Sha256: 8cf986fe33cacb1d00eefcc264dfccb0cb6f37b306935fc943a03c204221069f
Contents?: true
Size: 792 Bytes
Versions: 81
Compression:
Stored size: 792 Bytes
Contents
require 'set' module Renderer class Navigator def initialize(file_name, config) @nodes = [] @edges = [] @file_name = file_name @config = config @categories = Set.new() end def add_node(name, opts) vpc = opts[:vpc_id] || 'default' @nodes << {id: name, label: name, categories: [vpc]} @categories.add(vpc) end def add_edge(from, to, opts) @edges << {id: "#{from}-#{to}", from: from, to: to, label: opts[:label]} end def output IO.write(@file_name, { data: {nodes: @nodes, edges: @edges}, categories: Hash[@categories.map{|c| [c, c]}] }.to_json) Renderer.copy_asset('navigator.html', @file_name) end end end
Version data entries
81 entries across 81 versions & 1 rubygems