class Annotations2triannon::RevsDb

Attributes

db[RW]
db_config[RW]

Public Class Methods

log_model_info(m) click to toggle source
# File lib/annotations2triannon/revs_db.rb, line 18
def self.log_model_info(m)
  @@log.info "table: #{m.table_name}, columns: #{m.columns}, pk: #{m.primary_key}"
end
new() click to toggle source
# File lib/annotations2triannon/revs_db.rb, line 22
def initialize
  @db_config = {}
  @db_config['host'] = ENV['REVS_DB_HOST'] || 'localhost'
  @db_config['port'] = ENV['REVS_DB_PORT'] || '3306'
  @db_config['user'] = ENV['REVS_DB_USER'] || 'revs'
  @db_config['password'] = ENV['REVS_DB_PASS'] || ''
  @db_config['database'] = ENV['REVS_DB_DATABASE'] || 'revs'
  options = @db_config.merge(
      {
          :encoding => 'utf8',
          :max_connections => 10,
          :logger => @@log
      })
  @db = Sequel.mysql2(options)
  @db.extension(:pagination)
  # Ensure the connection is good on startup, raises exceptions on failure
  @@log.info "#{@db} connected: #{@db.test_connection}"
end

Public Instance Methods

annotation(id) click to toggle source
# File lib/annotations2triannon/revs_db.rb, line 41
def annotation(id)
  @db[:annotations][:id => id]
end
annotation_ids() click to toggle source
# File lib/annotations2triannon/revs_db.rb, line 49
def annotation_ids
  @db[:annotations].order(:user_id).select(:user_id, :id)
end
annotations() click to toggle source
# File lib/annotations2triannon/revs_db.rb, line 45
def annotations
  @db[:annotations]
end
annotations_join_users() click to toggle source
# File lib/annotations2triannon/revs_db.rb, line 53
def annotations_join_users
  @db[:annotations].join_table(:inner, @db[:users], :id=>:user_id)
  # @db[:annotations].join_table(:outer, @db[:users], :id=>:user_id)
end
user(id) click to toggle source
# File lib/annotations2triannon/revs_db.rb, line 62
def user(id)
  @db[:users][:id => id]
end
users() click to toggle source
# File lib/annotations2triannon/revs_db.rb, line 58
def users
  @db[:users]
end