Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 7 additions & 31 deletions lib/manifold/api/workspace.rb
Original file line number Diff line number Diff line change
Expand Up @@ -25,29 +25,6 @@ def generate(path)
end
end

# Handles SQL generation for manifold workspaces
class SqlGenerator
def initialize(name, manifold_yaml)
@name = name
@manifold_yaml = manifold_yaml
end

def generate_dimensions_merge_sql(source_sql)
return unless valid_dimensions_config?

sql_builder = Terraform::SQLBuilder.new(@name, @manifold_yaml)
sql_builder.build_dimensions_merge_sql(source_sql)
end

private

def valid_dimensions_config?
return false unless @manifold_yaml

!@manifold_yaml["dimensions"]&.dig("merge", "source").nil?
end
end

# Handles schema file generation for manifold workspaces
class SchemaWriter
def initialize(name, vectors, vector_service, manifold_yaml, logger)
Expand Down Expand Up @@ -177,21 +154,20 @@ def write_manifold_merge_sql
end

def write_dimensions_merge_sql
return unless dimensions_merge_source_exists?
return unless valid_dimensions_config?

sql = generate_dimensions_merge_sql
source_sql = File.read(Pathname.pwd.join(manifold_yaml["dimensions"]["merge"]["source"]))
sql_builder = Terraform::SQLBuilder.new(name, manifold_yaml)
sql = sql_builder.build_dimensions_merge_sql(source_sql)
return unless sql

write_dimensions_merge_sql_file(sql)
end

def dimensions_merge_source_exists?
manifold_yaml["dimensions"]&.dig("merge", "source")
end
def valid_dimensions_config?
return false unless manifold_yaml

def generate_dimensions_merge_sql
source_sql = File.read(Pathname.pwd.join(manifold_yaml["dimensions"]["merge"]["source"]))
SqlGenerator.new(name, manifold_yaml).generate_dimensions_merge_sql(source_sql)
!manifold_yaml["dimensions"]&.dig("merge", "source").nil?
end

def write_dimensions_merge_sql_file(sql)
Expand Down