class Erde::CLI

Public Class Methods

start(*args) click to toggle source
# File lib/erde/cli.rb, line 8
def self.start(*args)
  command = args.shift.strip

  if command == "file"
    file = Pathname(args.shift.strip)
    input = file.read
    text_transformer = Erde::TextTransformer.new(input)
    hash_schema = text_transformer.to_hash
  end

  if command == "database"
    url = args.shift.strip
    database_transformer = Erde::DatabaseTransformer.new(url)
    hash_schema = database_transformer.to_hash
  end

  hash_transformer = Erde::HashTransformer.new(hash_schema)
  dot_schema = hash_transformer.to_dot

  output_file = args.shift.strip

  layouted_graph, dot_log = Open3.capture3("dot -Tpng -o #{output_file}", stdin_data: dot_schema)
end