class ViewData::PG::Session

Public Class Methods

build(settings: nil) click to toggle source
Calls superclass method
# File lib/view_data/pg/session.rb, line 8
def self.build(settings: nil)
  settings ||= Settings.instance

  super(settings: settings)
end
build_connection(*) click to toggle source
Calls superclass method
# File lib/view_data/pg/session.rb, line 14
def self.build_connection(*)
  connection = super

  type_map_for_results = connection.type_map_for_results

  name_decoder = ::PG::TextDecoder::String.new({
    :oid => 19,
    :name => 'name'
  })

  regproc_decoder = ::PG::TextDecoder::String.new({
    :oid => 24,
    :name => 'regproc'
  })

  numeric_decoder = ::PG::TextDecoder::Float.new({
    :oid => 1700,
    :name => 'numeric'
  })

  type_map_for_results.add_coder(name_decoder)
  type_map_for_results.add_coder(regproc_decoder)
  type_map_for_results.add_coder(numeric_decoder)

  type_map_for_queries = ::PG::BasicTypeMapForQueries.new(connection)

  connection.type_map_for_queries = type_map_for_queries

  connection
end