Class: Erde::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/erde/cli.rb

Class Method Summary collapse

Class Method Details

.start(*args) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 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