class Purview::Pullers::BaseSQL

Public Instance Methods

pull(window) click to toggle source
# File lib/purview/pullers/base_sql.rb, line 4
def pull(window)
  with_new_connection do |connection|
    connection.execute(pull_sql(window) + additional_sql)
  end
end

Private Instance Methods

additional_sql() click to toggle source
# File lib/purview/pullers/base_sql.rb, line 17
def additional_sql
  " #{opts[:additional_sql]}".rstrip
end
column_names() click to toggle source
# File lib/purview/pullers/base_sql.rb, line 21
def column_names
  table.columns.map do |column|
    name = column.name
    source_name = column.source_name
    source_name == name ? name : "#{source_name} AS #{name}"
  end
end
connection_type() click to toggle source
# File lib/purview/pullers/base_sql.rb, line 29
def connection_type
  raise %{All "#{BaseSQL}(s)" must override the "connection_type" method}
end
database_host() click to toggle source
# File lib/purview/pullers/base_sql.rb, line 33
def database_host
  opts[:database_host]
end
database_name() click to toggle source
# File lib/purview/pullers/base_sql.rb, line 37
def database_name
  opts[:database_name]
end
database_password() click to toggle source
# File lib/purview/pullers/base_sql.rb, line 41
def database_password
  opts[:database_password]
end
database_port() click to toggle source
# File lib/purview/pullers/base_sql.rb, line 45
def database_port
  opts[:database_port]
end
database_username() click to toggle source
# File lib/purview/pullers/base_sql.rb, line 49
def database_username
  opts[:database_username]
end
dialect_type() click to toggle source
# File lib/purview/pullers/base_sql.rb, line 53
def dialect_type
  raise %{All "#{BaseSQL}(s)" must override the "dialect_type" method}
end
pull_sql(window) click to toggle source
# File lib/purview/pullers/base_sql.rb, line 57
def pull_sql(window)
  'SELECT %s FROM %s WHERE %s BETWEEN %s AND %s' % [
    column_names.join(', '),
    table_name,
    table.updated_timestamp_column.name,
    quoted(window.min),
    quoted(window.max),
  ]
end
table_name() click to toggle source
# File lib/purview/pullers/base_sql.rb, line 67
def table_name
  opts[:table].name.gsub(/_raw$/, '')
end