# File lib/thinking_sphinx/source.rb, line 13
    def initialize(index, options = {})
      @index        = index
      @model        = index.model
      @fields       = []
      @attributes   = []
      @joins        = []
      @conditions   = []
      @groupings    = []
      @options      = options
      @associations = {}
      @database_configuration = @model.connection.
        instance_variable_get(:@config).clone
      
      @base = ::ActiveRecord::Associations::ClassMethods::JoinDependency.new(
        @model, [], nil
      )
      
      unless @model.descends_from_active_record?
        stored_class = @model.store_full_sti_class ? @model.name : @model.name.demodulize
        @conditions << "#{@model.quoted_table_name}.#{quote_column(@model.inheritance_column)} = '#{stored_class}'"
      end
      
      add_internal_attributes_and_facets
    end