Sha256: fc6f4bc8f1f891fbf1653bd8802b40d473eca833bf51e63be39c0dfc91d2144c

Contents?: true

Size: 520 Bytes

Versions: 2

Compression:

Stored size: 520 Bytes

Contents

module Mongoid
  module I18n
    class LocalizedCriteria < Mongoid::Criteria
      def where(selector = nil)
        super
        expand_localized_fields_in_selector if selector.is_a?(Hash)
        self
      end
      
      protected
      
      def expand_localized_fields_in_selector
        @klass.fields.select { |k,f| @selector.keys.include?(k.to_sym) && f.type == LocalizedField }.each_key do |k|
          @selector["#{k}.#{::I18n.locale}"] = @selector.delete(k.to_sym)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mongoid_i18n-0.1.3 lib/mongoid/i18n/localized_criteria.rb
mongoid_i18n-0.1.1 lib/mongoid/i18n/localized_criteria.rb