Sha256: ce9f72458b2bbb65873693cc7e2cd2c9f8660b446a05396ed5909e29eccba4dc

Contents?: true

Size: 725 Bytes

Versions: 1

Compression:

Stored size: 725 Bytes

Contents

require 'autocompl/repository'

module Autocompl
  module Base
    def self.included(target)
      target.extend Autocompl::Base::ClassMethods
      target.send :include, Autocompl::Repository
    end

    module ClassMethods
      def autocomplete(options = {})
        define_method('autocomplete_endpoint') do
          render json: [] if params[:term].nil?
          render json: [] if options.nil?
          klasses = options.keys
          items = []
          for klass in klasses
            columns = options[klass].instance_of?(Array) ? options[klass] : [] << options[klass]
            items.concat(get_collection(klass, columns))
          end
          render json: items
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
autocompl-0.1.2 lib/autocompl/base.rb