Class: Sequel::ToDot

Inherits:
Object show all
Defined in:
lib/sequel/extensions/to_dot.rb

Constant Summary collapse

TO_DOT_OPTIONS =

The option keys that should be included in the dot output.

[:with, :distinct, :select, :from, :join, :where, :group, :having, :compounds, :order, :limit, :offset, :lock].freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ds) ⇒ ToDot

Given a Dataset, parse the internal structure to generate a dataset visualization.



19
20
21
22
23
24
25
# File 'lib/sequel/extensions/to_dot.rb', line 19

def initialize(ds)
  @i = 0
  @stack = [@i]
  @dot = ["digraph G {", "0 [label=\"self\"];"]
  v(ds, "")
  @dot << "}"
end

Class Method Details

.output(ds) ⇒ Object

Given a Dataset, return a string in dot format that will generate a visualization of the dataset.



13
14
15
# File 'lib/sequel/extensions/to_dot.rb', line 13

def self.output(ds)
  new(ds).output
end

Instance Method Details

#outputObject

Output the dataset visualization as a string in dot format.



28
29
30
# File 'lib/sequel/extensions/to_dot.rb', line 28

def output
  @dot.join("\n")
end