class EasyMapper::Adapters::PostgreAdapter
Public Class Methods
new( host: '127.0.0.1', port: 5432, database:, user:, password: )
click to toggle source
# File lib/easy_mapper/adapters/postgre_adapter.rb, line 10 def initialize( host: '127.0.0.1', port: 5432, database:, user:, password: ) @connection_options = { host: host, port: port, dbname: database, user: user, password: password } end
Public Instance Methods
connect()
click to toggle source
# File lib/easy_mapper/adapters/postgre_adapter.rb, line 27 def connect @connection = PGconn.connect(@connection_options) @connection.set_notice_processor do |warning| Logger.logger.warn(warning) end @connection.type_map_for_results = PG::BasicTypeMapForResults.new(@connection) end
execute(query)
click to toggle source
# File lib/easy_mapper/adapters/postgre_adapter.rb, line 38 def execute(query) Logger.logger.info("Executing query: #{query}") Results::PostgreResult.new @connection.exec(query) end
next_id(table_name)
click to toggle source
# File lib/easy_mapper/adapters/postgre_adapter.rb, line 47 def next_id(table_name) seq_name = "#{table_name}_id_seq" execute(sql_builder.sequence(seq_name).create_unless_exists) query = sql_builder.sequence(seq_name).next_val execute(query).single_value end
sql_builder()
click to toggle source
# File lib/easy_mapper/adapters/postgre_adapter.rb, line 43 def sql_builder Sqlbuilder::Builders::PostgresBuilder.new end