Skip to content

Commit 65b428a

Browse files
committed
Merge pull request #281 from dzjuck/master
Fix for issue #280 "Not working without Mongoid"
2 parents 97a0f4c + c4c1306 commit 65b428a

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

lib/rails3-jquery-autocomplete/autocomplete.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ module ClassMethods
4141
def autocomplete(object, method, options = {}, &block)
4242

4343
define_method("get_prefix") do |model|
44-
if model.include?(Mongoid::Document)
44+
if defined?(Mongoid::Document) && model.include?(Mongoid::Document)
4545
'mongoid'
46-
elsif model.include?(MongoMapper::Document)
46+
elsif defined?(MongoMapper::Document) && model.include?(MongoMapper::Document)
4747
'mongo_mapper'
4848
else
4949
'active_record'

test/lib/rails3-jquery-autocomplete/autocomplete_test.rb

+23
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,29 @@ module Rails3JQueryAutocomplete
44
class AutocompleteTest < Test::Unit::TestCase
55
include Rails3JQueryAutocomplete::Autocomplete
66

7+
context 'ClassMethods' do
8+
context '#autocomplete' do
9+
context '#get_prefix' do
10+
context 'Mongoid and MongoMapper is not defined' do
11+
setup do
12+
ActorsController = Class.new(ActionController::Base)
13+
ActorsController.autocomplete(:movie, :name)
14+
@controller = ActorsController.new
15+
16+
@model = Class.new(ActiveRecord::Base)
17+
18+
Object.send(:remove_const, :Mongoid)
19+
Object.send(:remove_const, :MongoMapper)
20+
end
21+
22+
should 'not raise exception' do
23+
@controller.get_prefix(@model)
24+
end
25+
end
26+
end
27+
end
28+
end
29+
730
context '#get_autocomplete_limit' do
831
context 'the limit option was specified' do
932
should "return the limit option" do

0 commit comments

Comments
 (0)