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