Sha256: 3664dbd8aeca65a21148743da3c47f756debbf5631c862ff9ac2b4955e3dc3a1
Contents?: true
Size: 1.3 KB
Versions: 14
Compression:
Stored size: 1.3 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
14 entries across 14 versions & 1 rubygems