class Sequel::DbOpts::DbOptions

Attributes

db[R]

Public Class Methods

new(db) click to toggle source
# File lib/sequel/extensions/db_opts.rb, line 5
def initialize(db)
  db.extension :settable
  @db = db
end

Public Instance Methods

apply(c) click to toggle source
# File lib/sequel/extensions/db_opts.rb, line 20
def apply(c)
  sql_statements.each do |stmt|
    db.send(:log_connection_execute, c, stmt)
  end
end
extract_db_opts() click to toggle source
# File lib/sequel/extensions/db_opts.rb, line 14
def extract_db_opts
  opt_regexp = /^#{db.database_type}_db_opt_/i

  Hash[db.opts.select { |k, _| k.to_s.match(opt_regexp) }.map { |k, v| [k.to_s.gsub(opt_regexp, '').to_sym, prep_value(k, v)] }]
end
prep_value(k, v) click to toggle source
# File lib/sequel/extensions/db_opts.rb, line 26
def prep_value(k, v)
  v =~ /\W/ ? db.literal("#{v}") : v
end
sql_statements() click to toggle source
# File lib/sequel/extensions/db_opts.rb, line 30
def sql_statements
  db.send(:set_sql, to_hash)
end
to_hash() click to toggle source
# File lib/sequel/extensions/db_opts.rb, line 10
def to_hash
  @_to_hash ||= extract_db_opts
end