class OCI8

def to_connect_descriptor(database, tcp_connect_timeout, connect_timeout, tcp_keepalive)

Other tags:
    Private: -
def to_connect_descriptor(database, tcp_connect_timeout, connect_timeout, tcp_keepalive)
  if @@easy_connect_naming_regex =~ database && ($1 || $2 || $4 || $5 || $6 || $7)
    connect_data = []
    connect_data << "(SERVICE_NAME=#$5)"
    connect_data << "(SERVER=#$6)" if $6
    connect_data << "(INSTANCE_NAME=#$7)" if $7
    desc = []
    desc << "(CONNECT_DATA=#{connect_data.join})"
    desc << "(ADDRESS=(PROTOCOL=TCP)(HOST=#{$2 || $3})(PORT=#{$4 || 1521}))"
    if tcp_connect_timeout
      desc << "(TRANSPORT_CONNECT_TIMEOUT=#{tcp_connect_timeout})"
    end
    if connect_timeout
      desc << "(CONNECT_TIMEOUT=#{connect_timeout})"
    end
    if tcp_keepalive
      desc << "(ENABLE=BROKEN)"
    end
    "(DESCRIPTION=#{desc.join})"
  else
    database
  end
end