Sha256: ad4038f0fdc4b446ebfa1b65dd1012bbe501c657acabb5b3a3e3104985818680
Contents?: true
Size: 1.34 KB
Versions: 2
Compression:
Stored size: 1.34 KB
Contents
module Bootstrap3AutocompleteInput module Orm module Mongoid def get_autocomplete_order(method, options, model=nil) order = options[: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 def get_autocomplete_items(parameters) model = parameters[:model] method = parameters[:method] options = parameters[:options] scopes = options[:scopes] is_full_search = options[:full] term = parameters[:term] limit = autocomplete_option_limit(options) order = get_autocomplete_order(method, options) if is_full_search search = '.*' + Regexp.escape(term) + '.*' else search = '^' + Regexp.escape(term) end items = model.where(method.to_sym => /#{search}/i).limit(limit).order_by(order) case scopes when Symbol then items = items.send(scopes) when Array then scopes.each { |scope| items = items.send(scope) } unless scopes.empty? end items end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
bootstrap3_autocomplete_input-0.2.3 | lib/bootstrap3_autocomplete_input/orm/mongoid.rb |
bootstrap3_autocomplete_input-0.2.1 | lib/bootstrap3_autocomplete_input/orm/mongoid.rb |