Class: Utils::Postgres::Connection
- Inherits:
-
Object
- Object
- Utils::Postgres::Connection
- Defined in:
- lib/bas/utils/postgres/connection.rb
Overview
This module is a PostgresDB utility to establish connections to a Postgres database and execute raw or parameterized queries.
Instance Method Summary collapse
- #finish ⇒ Object
-
#initialize(params) ⇒ Connection
constructor
A new instance of Connection.
- #query(query) ⇒ Object
Constructor Details
#initialize(params) ⇒ Connection
Returns a new instance of Connection.
11 12 13 |
# File 'lib/bas/utils/postgres/connection.rb', line 11 def initialize(params) @connection = PG::Connection.new(params) end |
Instance Method Details
#finish ⇒ Object
28 29 30 31 |
# File 'lib/bas/utils/postgres/connection.rb', line 28 def finish @connection&.finish @connection = nil end |
#query(query) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/bas/utils/postgres/connection.rb', line 15 def query(query) results = if query.is_a? String @connection.exec(query) else validate_query(query) sentence, params = query @connection.exec_params(sentence, params) end results.map { |result| result.transform_keys(&:to_sym) } end |