lib/picky/configuration/field.rb in picky-0.3.0 vs lib/picky/configuration/field.rb in picky-0.9.0

- old
+ new

@@ -2,23 +2,24 @@ # Describes the configuration of a "field", a category # (title is a category of a books index, for example). # class Field - attr_reader :name, :indexed_name, :virtual + attr_reader :name, :indexed_name, :virtual, :tokenizer attr_accessor :type # convenience - def initialize name, options = {} + def initialize name, tokenizer, options = {} @name = name.to_sym + @tokenizer = tokenizer # TODO Dup the options? - # TODO add source as option + @source = options.delete :source + @indexer_class = options.delete(:indexer) || Indexers::Default - @tokenizer_class = options.delete(:tokenizer) || Tokenizers::Index # Default - @indexed_name = options.delete(:indexed_field) || name # TODO Rename to indexed_as? - @virtual = options.delete(:virtual) || false + @indexed_name = options.delete(:indexed_field) || name # TODO Rename to indexed_as? + @virtual = options.delete(:virtual) || false qualifiers = generate_qualifiers_from options Query::Qualifiers.add(name, qualifiers) if qualifiers # @remove = options[:remove] || false @@ -46,11 +47,11 @@ # def cache_directory File.join search_index_root, PICKY_ENVIRONMENT, type.name.to_s end def search_index_file_name - File.join cache_directory, "#{type.name}_#{name}_index.txt" + File.join cache_directory, "prepared_#{name}_index.txt" end def index prepare_cache_directory indexer.index end @@ -61,12 +62,9 @@ prepare_cache_directory generate.generate_caches end def indexer @indexer || @indexer = @indexer_class.new(type, self) - end - def tokenizer - @tokenizer || @tokenizer = @tokenizer_class.new end def virtual? !!virtual end end \ No newline at end of file