Sha256: 45f87a14736b852dacf4be50fefb18ef6ac46f917856f132d6662704dab25a4f

Contents?: true

Size: 1.24 KB

Versions: 26

Compression:

Stored size: 1.24 KB

Contents

module JqueryAutoComplete 
  
  def self.included(base)
    base.extend(ClassMethods)
  end

  module ClassMethods
    def auto_complete_for(object, method, options = {})
      define_method("auto_complete_for_#{object}_#{method}") do
        object_constant = object.to_s.camelize.constantize
        
        find_options = { 
          :conditions => [ "LOWER(#{method}) LIKE ?", '%' + params[:term].downcase + '%' ], 
          :order => "#{method} ASC",
          :limit => 10 }.merge!(options)
        
        render :json => object_constant.to_auto_complete(:json, find_options)
      end
    end
  end  
end

module JqueryAutoCompleteJson
  include ActionView::Helpers::JavaScriptHelper
  include HandleAttributes

  def to_auto_complete(format, attributes)
    case format
      when :json
        json = %Q([)
        each do |elem|
          couples = elem.attributes.symbolize_keys
          json << %Q({ "id": "#{get_atr_value(elem, attributes[0], couples)}",)
          json << %Q( "label": "#{get_atr_value(elem, attributes[1], couples)}",)
          json << %Q( "value": "#{get_atr_value(elem, attributes[2], couples).gsub(/<\/?[^>]*>/, "")}" },)
        end
        json.chop! << " ]"
    end
  end
end

class Array
  include JqueryAutoCompleteJson
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
compass-jquery-plugin-0.3.2.1 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.2.0 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.2.pre.2 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.1.1 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.1.0 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.1.beta.3 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.1.beta.2 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.0 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.rc.1 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.26 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.25 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.24 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.22 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.21 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.20 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.19 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.18 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.17 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.16 lib/jquery/jquery_auto_complete.rb
compass-jquery-plugin-0.3.0.beta.14 lib/jquery/jquery_auto_complete.rb