Sha256: fae09074d3532c9342fc16dded712e3255c4baa8e4f345ec9c71a1ab479843fc

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

require 'pg'

module TripAdvisor
  class TranslationDBAccess

    # Create the connection instance.
  def connect
    @conn = PG.connect(
      :host => 'rivendell.tripadvisor.com',
      :dbname => 'tripmaster',
      :user => 'tripmaster_ro')
  end

  # Disconnect the back-end connection.
    def disconnect
      @conn.close
    end

  # Get translations for keys in array
  def getTranslations(key_names)
    queryString = "SELECT v.locale, k.name, v.value, k.status, k.note
                   FROM t_translationkeys k
                   INNER JOIN t_translationvalues v ON (k.id = v.translationid)
                   WHERE k.name IN ('#{key_names.join("', '")}')
                   ORDER BY v.locale DESC;"

    @conn.exec(queryString) do |result|
        result.each do |row|
          yield row if block_given?
        end
    end
  end

  # Get translation for a single key
  def getTranslation(key_name)
    queryString = "SELECT v.locale, k.name, v.value, k.status, k.note
                   FROM t_translationkeys k
                   INNER JOIN t_translationvalues v ON (k.id = v.translationid)
                   WHERE k.name = '#{key_name}'
                   ORDER BY v.locale DESC;"

    @conn.exec(queryString) do |result|
        result.each do |row|
          yield row if block_given?
        end
    end
  end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
trip_advisor-0.0.21 lib/trip_advisor/db_access.rb