class CsvToSqlite::SQL::CreateTable

Public Class Methods

new(name:, csv_table:, connection: @connection = connection) click to toggle source
# File lib/sql/create_table.rb, line 8
def initialize name:, csv_table:, connection:
  @connection = connection
  @name = name
  @csv_table = csv_table
end

Public Instance Methods

columns() click to toggle source
# File lib/sql/create_table.rb, line 28
def columns
  @column_generator = CsvToSqlite::SQL::Column.new(csv_table: @csv_table)
  columns_sql = @csv_table.headers.map do |column|
    @column_generator.sql_for column
  end
  columns_sql.join.chop
end
create_statement() click to toggle source
# File lib/sql/create_table.rb, line 24
def create_statement
  "CREATE TABLE IF NOT EXISTS #{@name}"
end
run() click to toggle source
# File lib/sql/create_table.rb, line 14
def run
  puts "========== Creating table #{@name} =========="
  @connection.execute sql
  puts "=================================================="
end
sql() click to toggle source
# File lib/sql/create_table.rb, line 20
def sql
  "#{create_statement} ( #{columns} );"
end