diff --git a/.travis.yml b/.travis.yml index 2dd7a06..f674235 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,3 +15,4 @@ notifications: gemfile: - Gemfile - gemfiles/mongoid3.gemfile + - gemfiles/mongoid4.gemfile diff --git a/Gemfile b/Gemfile index cf9030f..a24d5a6 100644 --- a/Gemfile +++ b/Gemfile @@ -3,7 +3,5 @@ source 'https://rubygems.org' # Specify your gem's dependencies in searchkick.gemspec gemspec -# gem "mongoid", github: "mongoid/mongoid" -# gem "mongoid", "~> 3.1.0" # gem "activerecord", "~> 3.2.0" # gem "activerecord", "~> 3.1.0" diff --git a/gemfiles/mongoid4.gemfile b/gemfiles/mongoid4.gemfile new file mode 100644 index 0000000..f72ac6d --- /dev/null +++ b/gemfiles/mongoid4.gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' + +# Specify your gem's dependencies in searchkick.gemspec +gemspec path: "../" + +gem "mongoid", github: "mongoid/mongoid" diff --git a/lib/searchkick/model.rb b/lib/searchkick/model.rb index 035c357..933512f 100644 --- a/lib/searchkick/model.rb +++ b/lib/searchkick/model.rb @@ -43,6 +43,9 @@ module Searchkick # stringify fields source = source.inject({}){|memo,(k,v)| memo[k.to_s] = v; memo} + # Mongoid 4 hack + source["_id"] = source["_id"].to_s if source["_id"] + options = self.class.searchkick_options # conversions diff --git a/searchkick.gemspec b/searchkick.gemspec index 97cd837..0e60113 100644 --- a/searchkick.gemspec +++ b/searchkick.gemspec @@ -23,7 +23,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency "bundler", "~> 1.3" spec.add_development_dependency "rake" - spec.add_development_dependency "minitest" + spec.add_development_dependency "minitest", "~> 4.7" spec.add_development_dependency "activerecord" spec.add_development_dependency "pg" end diff --git a/test/autocomplete_test.rb b/test/autocomplete_test.rb index dd2f3a6..7bc76dd 100644 --- a/test/autocomplete_test.rb +++ b/test/autocomplete_test.rb @@ -1,6 +1,6 @@ require_relative "test_helper" -class TestAutocomplete < Minitest::Test +class TestAutocomplete < Minitest::Unit::TestCase def test_autocomplete store_names ["Hummus"] diff --git a/test/boost_test.rb b/test/boost_test.rb index 94c038c..8e955b1 100644 --- a/test/boost_test.rb +++ b/test/boost_test.rb @@ -1,6 +1,6 @@ require_relative "test_helper" -class TestBoost < Minitest::Test +class TestBoost < Minitest::Unit::TestCase # conversions diff --git a/test/facets_test.rb b/test/facets_test.rb index 2bee171..22f9814 100644 --- a/test/facets_test.rb +++ b/test/facets_test.rb @@ -1,6 +1,6 @@ require_relative "test_helper" -class TestFacets < Minitest::Test +class TestFacets < Minitest::Unit::TestCase def setup super diff --git a/test/highlight_test.rb b/test/highlight_test.rb index f35034c..04ae2ad 100644 --- a/test/highlight_test.rb +++ b/test/highlight_test.rb @@ -1,6 +1,6 @@ require_relative "test_helper" -class TestHighlight < Minitest::Test +class TestHighlight < Minitest::Unit::TestCase def test_basic store_names ["Two Door Cinema Club"] diff --git a/test/index_test.rb b/test/index_test.rb index 6fcabf9..c4e7302 100644 --- a/test/index_test.rb +++ b/test/index_test.rb @@ -1,6 +1,6 @@ require_relative "test_helper" -class TestIndex < Minitest::Test +class TestIndex < Minitest::Unit::TestCase def test_clean_indices old_index = Tire::Index.new("products_test_20130801000000000") diff --git a/test/inheritance_test.rb b/test/inheritance_test.rb index b770de9..1c9022f 100644 --- a/test/inheritance_test.rb +++ b/test/inheritance_test.rb @@ -1,6 +1,6 @@ require_relative "test_helper" -class TestInheritance < Minitest::Test +class TestInheritance < Minitest::Unit::TestCase def setup super diff --git a/test/match_test.rb b/test/match_test.rb index 65d50ca..679100a 100644 --- a/test/match_test.rb +++ b/test/match_test.rb @@ -2,7 +2,7 @@ require_relative "test_helper" -class TestMatch < Minitest::Test +class TestMatch < Minitest::Unit::TestCase # exact diff --git a/test/similar_test.rb b/test/similar_test.rb index 685d514..b36ceac 100644 --- a/test/similar_test.rb +++ b/test/similar_test.rb @@ -1,6 +1,6 @@ require_relative "test_helper" -class TestSimilar < Minitest::Test +class TestSimilar < Minitest::Unit::TestCase def test_similar store_names ["Annie's Naturals Organic Shiitake & Sesame Dressing"] diff --git a/test/sql_test.rb b/test/sql_test.rb index 47a3c3f..6a4fe95 100644 --- a/test/sql_test.rb +++ b/test/sql_test.rb @@ -1,6 +1,6 @@ require_relative "test_helper" -class TestSql < Minitest::Test +class TestSql < Minitest::Unit::TestCase def test_limit store_names ["Product A", "Product B", "Product C", "Product D"] @@ -87,7 +87,7 @@ class TestSql < Minitest::Test def test_where_id store_names ["Product A"] product = Product.last - assert_search "product", ["Product A"], where: {id: product.id} + assert_search "product", ["Product A"], where: {id: product.id.to_s} end def test_near diff --git a/test/suggest_test.rb b/test/suggest_test.rb index f7d5251..250cf34 100644 --- a/test/suggest_test.rb +++ b/test/suggest_test.rb @@ -1,6 +1,6 @@ require_relative "test_helper" -class TestSuggest < Minitest::Test +class TestSuggest < Minitest::Unit::TestCase def test_basic store_names ["Great White Shark", "Hammerhead Shark", "Tiger Shark"] diff --git a/test/synonyms_test.rb b/test/synonyms_test.rb index aea3d26..3e02c20 100644 --- a/test/synonyms_test.rb +++ b/test/synonyms_test.rb @@ -1,6 +1,6 @@ require_relative "test_helper" -class TestSynonyms < Minitest::Test +class TestSynonyms < Minitest::Unit::TestCase def test_bleach store_names ["Clorox Bleach", "Kroger Bleach"] diff --git a/test/test_helper.rb b/test/test_helper.rb index f6eda9d..7d8b3d5 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -18,8 +18,15 @@ if defined?(Mongoid) class Product include Mongoid::Document - # include Mongoid::Attributes::Dynamic - + include Mongoid::Timestamps + + field :name + field :store_id, type: Integer + field :in_stock, type: Boolean + field :backordered, type: Boolean + field :orders_count, type: Integer + field :price, type: Integer + field :color field :latitude, type: BigDecimal field :longitude, type: BigDecimal end @@ -30,6 +37,8 @@ if defined?(Mongoid) class Animal include Mongoid::Document + + field :name end class Dog < Animal @@ -122,7 +131,7 @@ Product.reindex # run twice for both index paths Animal.reindex -class Minitest::Test +class Minitest::Unit::TestCase def setup Product.destroy_all -- libgit2 0.21.0