module Mongoid::Collation::ClassMethods
Public Instance Methods
collation(field, options = {})
click to toggle source
# File lib/mongoid_collation.rb, line 69 def collation(field, options = {}) raise ':locale option is required' unless options[:locale] options[:suffix] ||= :collated field_collated = "#{field}_#{options[:suffix]}" field field_collated, type: String self.collation_aliases[field.to_s] = field_collated collator = TwitterCldr::Collation::Collator.new(options[:locale]) before_save do sort_key = collator.get_sort_key(send(field)) send("#{field_collated}=", sort_key.map { |i| i.to_s(16) }.join) end end