Sha256: f2575fc0aa36cd34e8530219ac4307282bf20d1dd72f997485e9792bc4018e50

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

require 'active_record'
require 'active_support/core_ext/string'

require 'table_saw/configuration'
require 'table_saw/dependency_graph'
require 'table_saw/information_schema'
require 'table_saw/manifest'
require 'table_saw/queries'
require 'table_saw/formats'
require 'table_saw/variable_interpolation'

module TableSaw
  def self.configuration
    @configuration ||= TableSaw::Configuration.new
  end

  def self.configure(args = {})
    if block_given?
      yield configuration
    else
      args.each do |key, value|
        configuration.public_send("#{key}=", value)
      end
    end
  end

  def self.information_schema
    @information_schema ||= TableSaw::InformationSchema.new
  end

  def self.schema_cache
    connection.schema_cache
  end

  def self.connection_pool
    ActiveRecord::Base.connection_pool
  end

  # :nocov:
  def self.connection
    if ActiveRecord.gem_version < Gem::Version.new('7.2.0')
      connection_pool.connection
    else
      connection_pool.lease_connection
    end
  end
  # :nocov:
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
table_saw-3.2.0 lib/table_saw.rb