Class: Strata::CLI::Generators::Datasource

Inherits:
Group
  • Object
show all
Defined in:
lib/strata/cli/generators/datasource.rb

Constant Summary

Constants included from Output

Output::THEME

Instance Method Summary collapse

Methods inherited from Group

exit_on_failure?, source_root

Methods included from Output

format, pastel, print_error, #print_error, print_hint, #print_hint, print_info, #print_info, print_status, #print_status, print_success, #print_success, print_warning, #print_warning, shell_for, thor_color

Instance Method Details

#add_datasource_configObject



26
27
28
29
30
31
32
33
# File 'lib/strata/cli/generators/datasource.rb', line 26

def add_datasource_config
  @ds_key = get_unique_ds_key
  Output.print_status(:adapter, "adding #{adapter} config to datasources", type: :warning, context: self)

  # Interactive mode: write config directly from prompts
  config_yaml = {@ds_key => options[:config]}.to_yaml.sub(/^---\n/, "\n")
  append_to_file pathify("datasources.yml"), config_yaml
end

#check_duckdb_requirementsObject



15
16
17
18
19
20
21
22
23
24
# File 'lib/strata/cli/generators/datasource.rb', line 15

def check_duckdb_requirements
  return unless adapter.downcase == "duckdb"

  unless duckdb_installed?
    raise DWH::ConfigError,
      "DuckDB is not installed. Please install DuckDB. We will need the header files to compile libraries."
  end

  install_duckdb_gem
end