Class: DBCode::Graph

Inherits:
Object
  • Object
show all
Includes:
TSort
Defined in:
lib/dbcode/graph.rb

Instance Method Summary collapse

Constructor Details

#initialize(files) ⇒ Graph

Returns a new instance of Graph.



8
9
10
# File 'lib/dbcode/graph.rb', line 8

def initialize(files)
  @files = (files.map {|f| { f.name => f } }.reduce(:merge) || {}).freeze
end

Instance Method Details

#compileObject



16
17
18
# File 'lib/dbcode/graph.rb', line 16

def compile
  tsort.map(&:to_sql).join(";\n")
end

#digestObject



12
13
14
# File 'lib/dbcode/graph.rb', line 12

def digest
  Digest::MD5.base64digest to_sql
end

#to_sqlObject



20
21
22
# File 'lib/dbcode/graph.rb', line 20

def to_sql
  @to_sql ||= compile
end