class PgDice::DatabaseConnection
Wrapper class around database connection handlers
Attributes
dry_run[R]
logger[R]
query_executor[R]
Public Class Methods
new(logger:, query_executor:, dry_run: false)
click to toggle source
# File lib/pgdice/database_connection.rb, line 11 def initialize(logger:, query_executor:, dry_run: false) @logger = logger @dry_run = dry_run @query_executor = query_executor end
Public Instance Methods
execute(query)
click to toggle source
# File lib/pgdice/database_connection.rb, line 17 def execute(query) query = squish(query) if blank?(query) || dry_run logger.debug { "DatabaseConnection skipping query. Query: '#{query}'. Dry run: #{dry_run}" } return PgDice::PgResponse.new end logger.debug { "DatabaseConnection to execute query: #{query}" } PgDice::LogHelper.log_duration('Executing query', logger) do query_executor.call(query) end end