class BeetleETL::SequelAdapter

Attributes

database[R]

Public Class Methods

new(database) click to toggle source
# File lib/beetle_etl/adapters/sequel_adapter.rb, line 4
def initialize(database)
  @database = database
end

Public Instance Methods

column_names(schema_name, table_name) click to toggle source
# File lib/beetle_etl/adapters/sequel_adapter.rb, line 12
def column_names(schema_name, table_name)
  @database[Sequel.qualify(schema_name, table_name)].columns
end
column_types(schema_name, table_name) click to toggle source
# File lib/beetle_etl/adapters/sequel_adapter.rb, line 16
def column_types(schema_name, table_name)
  Hash[@database.schema(Sequel.qualify(schema_name, table_name))].reduce({}) do |acc, (name, column_config)|
    acc[name.to_sym] = column_config.fetch(:db_type)
    acc
  end
end
disconnect() click to toggle source
# File lib/beetle_etl/adapters/sequel_adapter.rb, line 31
def disconnect
  @database.disconnect
end
execute(query) click to toggle source
# File lib/beetle_etl/adapters/sequel_adapter.rb, line 8
def execute(query)
  @database.run(query)
end
table_exists?(schema_name, table_name) click to toggle source
# File lib/beetle_etl/adapters/sequel_adapter.rb, line 23
def table_exists?(schema_name, table_name)
  @database.table_exists?(Sequel.qualify(schema_name, table_name))
end
transaction(&block) click to toggle source
# File lib/beetle_etl/adapters/sequel_adapter.rb, line 27
def transaction(&block)
  @database.transaction(&block)
end