Module: AutocompleteActiveAdmin::Orm::MongoMapper
- Defined in:
- lib/autocomplete-activeadmin/orm/mongo_mapper.rb
Instance Method Summary collapse
- #mongo_mapper_get_autocomplete_items(parameters) ⇒ Object
- #mongo_mapper_get_autocomplete_order(method, options, model = nil) ⇒ Object
Instance Method Details
#mongo_mapper_get_autocomplete_items(parameters) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/autocomplete-activeadmin/orm/mongo_mapper.rb', line 16 def mongo_mapper_get_autocomplete_items(parameters) model = parameters[:model] method = parameters[:method] = parameters[:options] is_full_search = [:full] is_case_sensitive_search = [:case_sensitive] term = parameters[:term] limit = get_autocomplete_limit() order = mongo_mapper_get_autocomplete_order(method, ) search = (is_full_search ? '.*' : '^') + term + '.*' search = Regexp.new(search, !is_case_sensitive_search) items = model.where(method.to_sym => search).limit(limit).sort(order) end |
#mongo_mapper_get_autocomplete_order(method, options, model = nil) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/autocomplete-activeadmin/orm/mongo_mapper.rb', line 4 def mongo_mapper_get_autocomplete_order(method, , model=nil) order = [:order] if order order.split(',').collect do |fields| sfields = fields.split [sfields[0].downcase.to_sym, sfields[1].downcase.to_sym] end else [[method.to_sym, :asc]] end end |