sunspot_rails 2.0.0.pre.120924 → 2.0.0.pre.120925
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +6 -10
- data/{sunspot_rails/.rspec → .rspec} +0 -0
- data/{sunspot_rails/History.txt → History.txt} +0 -0
- data/{sunspot/LICENSE → LICENSE} +0 -0
- data/{sunspot_rails/MIT-LICENSE → MIT-LICENSE} +0 -0
- data/{sunspot_rails/README.rdoc → README.rdoc} +0 -0
- data/Rakefile +12 -32
- data/{sunspot_rails/TODO → TODO} +0 -0
- data/{sunspot_rails/dev_tasks → dev_tasks}/rdoc.rake +0 -0
- data/{sunspot_rails/dev_tasks → dev_tasks}/release.rake +0 -0
- data/{sunspot_rails/dev_tasks → dev_tasks}/spec.rake +0 -0
- data/{sunspot/tasks → dev_tasks}/todo.rake +0 -0
- data/{sunspot_rails/gemfiles → gemfiles}/rails-2.3.14 +0 -0
- data/{sunspot_rails/gemfiles → gemfiles}/rails-3.0.15 +0 -0
- data/{sunspot_rails/gemfiles → gemfiles}/rails-3.1.6 +0 -0
- data/{sunspot_rails/gemfiles → gemfiles}/rails-3.2.6 +0 -0
- data/{sunspot_rails/generators → generators}/sunspot/sunspot_generator.rb +0 -0
- data/{sunspot_rails/generators → generators}/sunspot/templates/sunspot.yml +0 -0
- data/{sunspot_rails/install.rb → install.rb} +0 -0
- data/{sunspot_rails/lib → lib}/generators/sunspot_rails.rb +0 -0
- data/{sunspot_rails/lib → lib}/generators/sunspot_rails/install/install_generator.rb +0 -0
- data/{sunspot_rails/lib → lib}/generators/sunspot_rails/install/templates/config/sunspot.yml +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/adapters.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/configuration.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/init.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/log_subscriber.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/railtie.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/railties/controller_runtime.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/request_lifecycle.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/searchable.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/server.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/solr_instrumentation.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/solr_logging.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/spec_helper.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/stub_session_proxy.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot/rails/tasks.rb +0 -0
- data/{sunspot_rails/lib → lib}/sunspot_rails.rb +0 -0
- data/{sunspot_rails/spec → spec}/configuration_spec.rb +0 -0
- data/{sunspot_rails/spec → spec}/model_lifecycle_spec.rb +0 -0
- data/{sunspot_rails/spec → spec}/model_spec.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/app/controllers/application_controller.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/app/controllers/posts_controller.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/app/models/author.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/app/models/blog.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/app/models/location.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/app/models/photo_post.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/app/models/post.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/app/models/post_with_auto.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/app/models/post_with_default_scope.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/config/boot.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/config/preinitializer.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/config/routes.rb +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/config/sunspot.yml +0 -0
- data/{sunspot_rails/spec → spec}/rails_template/db/schema.rb +0 -0
- data/{sunspot_rails/spec → spec}/request_lifecycle_spec.rb +0 -0
- data/{sunspot_rails/spec → spec}/schema.rb +0 -0
- data/{sunspot_rails/spec → spec}/searchable_spec.rb +0 -0
- data/{sunspot_rails/spec → spec}/server_spec.rb +0 -0
- data/{sunspot_rails/spec → spec}/session_spec.rb +0 -0
- data/{sunspot_rails/spec → spec}/shared_examples/indexed_after_save.rb +0 -0
- data/{sunspot_rails/spec → spec}/shared_examples/not_indexed_after_save.rb +0 -0
- data/{sunspot_rails/spec → spec}/spec_helper.rb +0 -0
- data/{sunspot_rails/spec → spec}/stub_session_proxy_spec.rb +0 -0
- data/{sunspot_rails/sunspot_rails.gemspec → sunspot_rails.gemspec} +0 -0
- metadata +102 -305
- data/.travis.yml +0 -35
- data/README.md +0 -863
- data/ci/travis.sh +0 -67
- data/sunspot/.gitignore +0 -13
- data/sunspot/Gemfile +0 -5
- data/sunspot/History.txt +0 -258
- data/sunspot/Rakefile +0 -13
- data/sunspot/TODO +0 -13
- data/sunspot/lib/light_config.rb +0 -40
- data/sunspot/lib/sunspot.rb +0 -579
- data/sunspot/lib/sunspot/adapters.rb +0 -349
- data/sunspot/lib/sunspot/batcher.rb +0 -62
- data/sunspot/lib/sunspot/class_set.rb +0 -23
- data/sunspot/lib/sunspot/composite_setup.rb +0 -202
- data/sunspot/lib/sunspot/configuration.rb +0 -53
- data/sunspot/lib/sunspot/data_extractor.rb +0 -50
- data/sunspot/lib/sunspot/dsl.rb +0 -5
- data/sunspot/lib/sunspot/dsl/adjustable.rb +0 -47
- data/sunspot/lib/sunspot/dsl/field_group.rb +0 -57
- data/sunspot/lib/sunspot/dsl/field_query.rb +0 -345
- data/sunspot/lib/sunspot/dsl/fields.rb +0 -103
- data/sunspot/lib/sunspot/dsl/fulltext.rb +0 -243
- data/sunspot/lib/sunspot/dsl/function.rb +0 -27
- data/sunspot/lib/sunspot/dsl/functional.rb +0 -44
- data/sunspot/lib/sunspot/dsl/more_like_this_query.rb +0 -56
- data/sunspot/lib/sunspot/dsl/paginatable.rb +0 -32
- data/sunspot/lib/sunspot/dsl/query_facet.rb +0 -36
- data/sunspot/lib/sunspot/dsl/restriction.rb +0 -25
- data/sunspot/lib/sunspot/dsl/restriction_with_near.rb +0 -160
- data/sunspot/lib/sunspot/dsl/scope.rb +0 -214
- data/sunspot/lib/sunspot/dsl/search.rb +0 -30
- data/sunspot/lib/sunspot/dsl/standard_query.rb +0 -122
- data/sunspot/lib/sunspot/field.rb +0 -193
- data/sunspot/lib/sunspot/field_factory.rb +0 -129
- data/sunspot/lib/sunspot/indexer.rb +0 -136
- data/sunspot/lib/sunspot/query.rb +0 -11
- data/sunspot/lib/sunspot/query/abstract_field_facet.rb +0 -55
- data/sunspot/lib/sunspot/query/bbox.rb +0 -15
- data/sunspot/lib/sunspot/query/boost_query.rb +0 -24
- data/sunspot/lib/sunspot/query/common_query.rb +0 -96
- data/sunspot/lib/sunspot/query/composite_fulltext.rb +0 -36
- data/sunspot/lib/sunspot/query/connective.rb +0 -206
- data/sunspot/lib/sunspot/query/date_field_facet.rb +0 -14
- data/sunspot/lib/sunspot/query/dismax.rb +0 -132
- data/sunspot/lib/sunspot/query/field_facet.rb +0 -41
- data/sunspot/lib/sunspot/query/field_group.rb +0 -37
- data/sunspot/lib/sunspot/query/filter.rb +0 -38
- data/sunspot/lib/sunspot/query/function_query.rb +0 -52
- data/sunspot/lib/sunspot/query/geo.rb +0 -53
- data/sunspot/lib/sunspot/query/geofilt.rb +0 -16
- data/sunspot/lib/sunspot/query/highlighting.rb +0 -62
- data/sunspot/lib/sunspot/query/more_like_this.rb +0 -61
- data/sunspot/lib/sunspot/query/more_like_this_query.rb +0 -12
- data/sunspot/lib/sunspot/query/pagination.rb +0 -42
- data/sunspot/lib/sunspot/query/query_facet.rb +0 -53
- data/sunspot/lib/sunspot/query/range_facet.rb +0 -15
- data/sunspot/lib/sunspot/query/restriction.rb +0 -308
- data/sunspot/lib/sunspot/query/scope.rb +0 -9
- data/sunspot/lib/sunspot/query/sort.rb +0 -109
- data/sunspot/lib/sunspot/query/sort_composite.rb +0 -34
- data/sunspot/lib/sunspot/query/standard_query.rb +0 -16
- data/sunspot/lib/sunspot/query/text_field_boost.rb +0 -17
- data/sunspot/lib/sunspot/schema.rb +0 -151
- data/sunspot/lib/sunspot/search.rb +0 -9
- data/sunspot/lib/sunspot/search/abstract_search.rb +0 -286
- data/sunspot/lib/sunspot/search/date_facet.rb +0 -35
- data/sunspot/lib/sunspot/search/facet_row.rb +0 -27
- data/sunspot/lib/sunspot/search/field_facet.rb +0 -88
- data/sunspot/lib/sunspot/search/field_group.rb +0 -70
- data/sunspot/lib/sunspot/search/group.rb +0 -54
- data/sunspot/lib/sunspot/search/highlight.rb +0 -38
- data/sunspot/lib/sunspot/search/hit.rb +0 -150
- data/sunspot/lib/sunspot/search/hit_enumerable.rb +0 -68
- data/sunspot/lib/sunspot/search/more_like_this_search.rb +0 -31
- data/sunspot/lib/sunspot/search/paginated_collection.rb +0 -57
- data/sunspot/lib/sunspot/search/query_facet.rb +0 -67
- data/sunspot/lib/sunspot/search/range_facet.rb +0 -37
- data/sunspot/lib/sunspot/search/standard_search.rb +0 -21
- data/sunspot/lib/sunspot/session.rb +0 -262
- data/sunspot/lib/sunspot/session_proxy.rb +0 -95
- data/sunspot/lib/sunspot/session_proxy/abstract_session_proxy.rb +0 -29
- data/sunspot/lib/sunspot/session_proxy/class_sharding_session_proxy.rb +0 -66
- data/sunspot/lib/sunspot/session_proxy/id_sharding_session_proxy.rb +0 -89
- data/sunspot/lib/sunspot/session_proxy/master_slave_session_proxy.rb +0 -43
- data/sunspot/lib/sunspot/session_proxy/retry_5xx_session_proxy.rb +0 -67
- data/sunspot/lib/sunspot/session_proxy/sharding_session_proxy.rb +0 -222
- data/sunspot/lib/sunspot/session_proxy/silent_fail_session_proxy.rb +0 -42
- data/sunspot/lib/sunspot/session_proxy/thread_local_session_proxy.rb +0 -37
- data/sunspot/lib/sunspot/setup.rb +0 -350
- data/sunspot/lib/sunspot/text_field_setup.rb +0 -29
- data/sunspot/lib/sunspot/type.rb +0 -393
- data/sunspot/lib/sunspot/util.rb +0 -252
- data/sunspot/lib/sunspot/version.rb +0 -3
- data/sunspot/script/console +0 -10
- data/sunspot/spec/api/adapters_spec.rb +0 -68
- data/sunspot/spec/api/batcher_spec.rb +0 -112
- data/sunspot/spec/api/binding_spec.rb +0 -50
- data/sunspot/spec/api/class_set_spec.rb +0 -24
- data/sunspot/spec/api/hit_enumerable_spec.rb +0 -47
- data/sunspot/spec/api/indexer/attributes_spec.rb +0 -149
- data/sunspot/spec/api/indexer/batch_spec.rb +0 -72
- data/sunspot/spec/api/indexer/dynamic_fields_spec.rb +0 -42
- data/sunspot/spec/api/indexer/fixed_fields_spec.rb +0 -57
- data/sunspot/spec/api/indexer/fulltext_spec.rb +0 -43
- data/sunspot/spec/api/indexer/removal_spec.rb +0 -53
- data/sunspot/spec/api/indexer/spec_helper.rb +0 -1
- data/sunspot/spec/api/indexer_spec.rb +0 -14
- data/sunspot/spec/api/query/advanced_manipulation_examples.rb +0 -35
- data/sunspot/spec/api/query/connectives_examples.rb +0 -201
- data/sunspot/spec/api/query/dsl_spec.rb +0 -18
- data/sunspot/spec/api/query/dynamic_fields_examples.rb +0 -165
- data/sunspot/spec/api/query/faceting_examples.rb +0 -497
- data/sunspot/spec/api/query/fulltext_examples.rb +0 -313
- data/sunspot/spec/api/query/function_spec.rb +0 -79
- data/sunspot/spec/api/query/geo_examples.rb +0 -68
- data/sunspot/spec/api/query/group_spec.rb +0 -32
- data/sunspot/spec/api/query/highlighting_examples.rb +0 -245
- data/sunspot/spec/api/query/more_like_this_spec.rb +0 -140
- data/sunspot/spec/api/query/ordering_pagination_examples.rb +0 -116
- data/sunspot/spec/api/query/scope_examples.rb +0 -275
- data/sunspot/spec/api/query/spatial_examples.rb +0 -27
- data/sunspot/spec/api/query/spec_helper.rb +0 -1
- data/sunspot/spec/api/query/standard_spec.rb +0 -29
- data/sunspot/spec/api/query/text_field_scoping_examples.rb +0 -30
- data/sunspot/spec/api/query/types_spec.rb +0 -20
- data/sunspot/spec/api/search/dynamic_fields_spec.rb +0 -33
- data/sunspot/spec/api/search/faceting_spec.rb +0 -360
- data/sunspot/spec/api/search/highlighting_spec.rb +0 -69
- data/sunspot/spec/api/search/hits_spec.rb +0 -147
- data/sunspot/spec/api/search/paginated_collection_spec.rb +0 -36
- data/sunspot/spec/api/search/results_spec.rb +0 -72
- data/sunspot/spec/api/search/search_spec.rb +0 -23
- data/sunspot/spec/api/search/spec_helper.rb +0 -1
- data/sunspot/spec/api/session_proxy/class_sharding_session_proxy_spec.rb +0 -85
- data/sunspot/spec/api/session_proxy/id_sharding_session_proxy_spec.rb +0 -30
- data/sunspot/spec/api/session_proxy/master_slave_session_proxy_spec.rb +0 -41
- data/sunspot/spec/api/session_proxy/retry_5xx_session_proxy_spec.rb +0 -78
- data/sunspot/spec/api/session_proxy/sharding_session_proxy_spec.rb +0 -77
- data/sunspot/spec/api/session_proxy/silent_fail_session_proxy_spec.rb +0 -24
- data/sunspot/spec/api/session_proxy/spec_helper.rb +0 -9
- data/sunspot/spec/api/session_proxy/thread_local_session_proxy_spec.rb +0 -39
- data/sunspot/spec/api/session_spec.rb +0 -232
- data/sunspot/spec/api/spec_helper.rb +0 -3
- data/sunspot/spec/api/sunspot_spec.rb +0 -29
- data/sunspot/spec/ext.rb +0 -11
- data/sunspot/spec/helpers/indexer_helper.rb +0 -17
- data/sunspot/spec/helpers/integration_helper.rb +0 -8
- data/sunspot/spec/helpers/mock_session_helper.rb +0 -13
- data/sunspot/spec/helpers/query_helper.rb +0 -26
- data/sunspot/spec/helpers/search_helper.rb +0 -68
- data/sunspot/spec/integration/dynamic_fields_spec.rb +0 -57
- data/sunspot/spec/integration/faceting_spec.rb +0 -330
- data/sunspot/spec/integration/field_grouping_spec.rb +0 -100
- data/sunspot/spec/integration/geospatial_spec.rb +0 -96
- data/sunspot/spec/integration/highlighting_spec.rb +0 -44
- data/sunspot/spec/integration/indexing_spec.rb +0 -55
- data/sunspot/spec/integration/keyword_search_spec.rb +0 -317
- data/sunspot/spec/integration/local_search_spec.rb +0 -64
- data/sunspot/spec/integration/more_like_this_spec.rb +0 -43
- data/sunspot/spec/integration/scoped_search_spec.rb +0 -386
- data/sunspot/spec/integration/stored_fields_spec.rb +0 -12
- data/sunspot/spec/integration/test_pagination.rb +0 -43
- data/sunspot/spec/integration/unicode_spec.rb +0 -15
- data/sunspot/spec/mocks/adapters.rb +0 -33
- data/sunspot/spec/mocks/blog.rb +0 -3
- data/sunspot/spec/mocks/comment.rb +0 -21
- data/sunspot/spec/mocks/connection.rb +0 -126
- data/sunspot/spec/mocks/mock_adapter.rb +0 -30
- data/sunspot/spec/mocks/mock_class_sharding_session_proxy.rb +0 -24
- data/sunspot/spec/mocks/mock_record.rb +0 -52
- data/sunspot/spec/mocks/mock_sharding_session_proxy.rb +0 -15
- data/sunspot/spec/mocks/photo.rb +0 -11
- data/sunspot/spec/mocks/post.rb +0 -86
- data/sunspot/spec/mocks/super_class.rb +0 -2
- data/sunspot/spec/mocks/user.rb +0 -13
- data/sunspot/spec/spec_helper.rb +0 -40
- data/sunspot/sunspot.gemspec +0 -37
- data/sunspot/tasks/rdoc.rake +0 -27
- data/sunspot/tasks/schema.rake +0 -19
- data/sunspot_rails/.gitignore +0 -7
- data/sunspot_rails/LICENSE +0 -18
- data/sunspot_rails/Rakefile +0 -17
- data/sunspot_rails/dev_tasks/todo.rake +0 -4
- data/sunspot_solr/Gemfile +0 -3
- data/sunspot_solr/README.rdoc +0 -24
- data/sunspot_solr/bin/sunspot-installer +0 -20
- data/sunspot_solr/bin/sunspot-solr +0 -80
- data/sunspot_solr/lib/sunspot/solr/installer.rb +0 -25
- data/sunspot_solr/lib/sunspot/solr/installer/config_installer.rb +0 -46
- data/sunspot_solr/lib/sunspot/solr/installer/task_helper.rb +0 -13
- data/sunspot_solr/lib/sunspot/solr/java.rb +0 -10
- data/sunspot_solr/lib/sunspot/solr/railtie.rb +0 -15
- data/sunspot_solr/lib/sunspot/solr/server.rb +0 -223
- data/sunspot_solr/lib/sunspot/solr/tasks.rb +0 -49
- data/sunspot_solr/lib/sunspot_solr.rb +0 -5
- data/sunspot_solr/solr/README.txt +0 -42
- data/sunspot_solr/solr/etc/jetty.xml +0 -219
- data/sunspot_solr/solr/etc/webdefault.xml +0 -379
- data/sunspot_solr/solr/lib/jetty-6.1.26-patched-JETTY-1340.jar +0 -0
- data/sunspot_solr/solr/lib/jetty-util-6.1.26-patched-JETTY-1340.jar +0 -0
- data/sunspot_solr/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
- data/sunspot_solr/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
- data/sunspot_solr/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
- data/sunspot_solr/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
- data/sunspot_solr/solr/lib/servlet-api-2.5-20081211.jar +0 -0
- data/sunspot_solr/solr/solr/.gitignore +0 -1
- data/sunspot_solr/solr/solr/README.txt +0 -54
- data/sunspot_solr/solr/solr/conf/admin-extra.html +0 -31
- data/sunspot_solr/solr/solr/conf/elevate.xml +0 -36
- data/sunspot_solr/solr/solr/conf/mapping-ISOLatin1Accent.txt +0 -246
- data/sunspot_solr/solr/solr/conf/protwords.txt +0 -21
- data/sunspot_solr/solr/solr/conf/schema.xml +0 -250
- data/sunspot_solr/solr/solr/conf/scripts.conf +0 -24
- data/sunspot_solr/solr/solr/conf/solrconfig.xml +0 -934
- data/sunspot_solr/solr/solr/conf/spellings.txt +0 -2
- data/sunspot_solr/solr/solr/conf/stopwords.txt +0 -58
- data/sunspot_solr/solr/solr/conf/synonyms.txt +0 -31
- data/sunspot_solr/solr/solr/conf/xslt/example.xsl +0 -132
- data/sunspot_solr/solr/solr/conf/xslt/example_atom.xsl +0 -67
- data/sunspot_solr/solr/solr/conf/xslt/example_rss.xsl +0 -66
- data/sunspot_solr/solr/solr/conf/xslt/luke.xsl +0 -337
- data/sunspot_solr/solr/start.jar +0 -0
- data/sunspot_solr/solr/webapps/solr.war +0 -0
- data/sunspot_solr/spec/server_spec.rb +0 -98
- data/sunspot_solr/spec/spec_helper.rb +0 -18
- data/sunspot_solr/sunspot_solr.gemspec +0 -37
- data/tools/gem_tasks.rb +0 -69
data/sunspot/script/console
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
require File.expand_path('spec_helper', File.dirname(__FILE__))
|
2
|
-
|
3
|
-
describe Sunspot::Adapters::InstanceAdapter do
|
4
|
-
it "finds adapter by superclass" do
|
5
|
-
Sunspot::Adapters::InstanceAdapter::for(Model).should be(AbstractModelInstanceAdapter)
|
6
|
-
end
|
7
|
-
|
8
|
-
it "finds adapter by mixin" do
|
9
|
-
Sunspot::Adapters::InstanceAdapter::for(MixModel).should be(MixInModelInstanceAdapter)
|
10
|
-
end
|
11
|
-
|
12
|
-
it 'throws NoAdapterError if anonymous module passed in' do
|
13
|
-
lambda do
|
14
|
-
Sunspot::Adapters::InstanceAdapter::for(Module.new)
|
15
|
-
end.should raise_error(Sunspot::NoAdapterError)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
describe Sunspot::Adapters::DataAccessor do
|
20
|
-
it "finds adapter by superclass" do
|
21
|
-
Sunspot::Adapters::DataAccessor::for(Model).should be(AbstractModelDataAccessor)
|
22
|
-
end
|
23
|
-
|
24
|
-
it "finds adapter by mixin" do
|
25
|
-
Sunspot::Adapters::DataAccessor::for(MixModel).should be(MixInModelDataAccessor)
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'throws NoAdapterError if anonymous module passed in' do
|
29
|
-
lambda do
|
30
|
-
Sunspot::Adapters::DataAccessor::for(Module.new)
|
31
|
-
end.should raise_error(Sunspot::NoAdapterError)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe Sunspot::Adapters::Registry do
|
36
|
-
let(:registry){ Sunspot::Adapters::Registry.new }
|
37
|
-
let(:abstractclass_accessor){ Sunspot::Adapters::DataAccessor::for(AbstractModel) }
|
38
|
-
let(:superclass_accessor){ Sunspot::Adapters::DataAccessor::for(Model) }
|
39
|
-
let(:mixin_accessor){ Sunspot::Adapters::DataAccessor::for(MixModel) }
|
40
|
-
|
41
|
-
it "registers and retrieves a data accessor for abstractclass" do
|
42
|
-
registry.retrieve(AbstractModel).should be_a(abstractclass_accessor)
|
43
|
-
end
|
44
|
-
|
45
|
-
it "registers and retrieves a data accessor for superclass" do
|
46
|
-
registry.retrieve(Model).should be_a(superclass_accessor)
|
47
|
-
end
|
48
|
-
|
49
|
-
it "registers and retrieves a data accessor for mixin" do
|
50
|
-
registry.retrieve(MixModel).should be_a(mixin_accessor)
|
51
|
-
end
|
52
|
-
|
53
|
-
it "injects inherited attributes" do
|
54
|
-
AbstractModelDataAccessor.any_instance.stub(:inherited_attributes).and_return([:to_be_injected])
|
55
|
-
in_registry_data_accessor = registry.retrieve(AbstractModel)
|
56
|
-
in_registry_data_accessor.to_be_injected = "value"
|
57
|
-
registry.retrieve(Model).to_be_injected.should == "value"
|
58
|
-
end
|
59
|
-
|
60
|
-
it "not overrides inherited attributes" do
|
61
|
-
AbstractModelDataAccessor.any_instance.stub(:inherited_attributes).and_return([:to_be_injected])
|
62
|
-
parent_data_accessor = registry.retrieve(AbstractModel)
|
63
|
-
current_data_accessor = registry.retrieve(Model)
|
64
|
-
parent_data_accessor.to_be_injected = "value"
|
65
|
-
current_data_accessor.to_be_injected = "safe-value"
|
66
|
-
registry.retrieve(Model).to_be_injected.should == "safe-value"
|
67
|
-
end
|
68
|
-
end
|
@@ -1,112 +0,0 @@
|
|
1
|
-
require File.expand_path('spec_helper', File.dirname(__FILE__))
|
2
|
-
|
3
|
-
describe Sunspot::Batcher do
|
4
|
-
it "includes Enumerable" do
|
5
|
-
described_class.should include Enumerable
|
6
|
-
end
|
7
|
-
|
8
|
-
describe "#each" do
|
9
|
-
let(:current) { [:foo, :bar] }
|
10
|
-
before { subject.stub(:current).and_return current }
|
11
|
-
|
12
|
-
it "iterates over current" do
|
13
|
-
yielded_values = []
|
14
|
-
|
15
|
-
subject.each do |value|
|
16
|
-
yielded_values << value
|
17
|
-
end
|
18
|
-
|
19
|
-
yielded_values.should eq current
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe "adding to current batch" do
|
24
|
-
it "#push pushes to current" do
|
25
|
-
subject.push :foo
|
26
|
-
subject.current.should include :foo
|
27
|
-
end
|
28
|
-
|
29
|
-
it "#<< pushes to current" do
|
30
|
-
subject.push :foo
|
31
|
-
subject.current.should include :foo
|
32
|
-
end
|
33
|
-
|
34
|
-
it "#concat concatinates on current batch" do
|
35
|
-
subject << :foo
|
36
|
-
subject.concat [:bar, :mix]
|
37
|
-
should include :foo, :bar, :mix
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
|
42
|
-
describe "#current" do
|
43
|
-
context "no current" do
|
44
|
-
it "starts a new" do
|
45
|
-
expect { subject.current }.to change(subject, :depth).by 1
|
46
|
-
end
|
47
|
-
|
48
|
-
it "is empty by default" do
|
49
|
-
subject.current.should be_empty
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
context "with a current" do
|
54
|
-
before { subject.start_new }
|
55
|
-
|
56
|
-
it "does not start a new" do
|
57
|
-
expect { subject.current }.to_not change(subject, :depth)
|
58
|
-
end
|
59
|
-
|
60
|
-
it "returns the same as last time" do
|
61
|
-
subject.current.should eq subject.current
|
62
|
-
end
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
describe "#start_new" do
|
67
|
-
it "creates a new batches" do
|
68
|
-
expect { 2.times { subject.start_new } }.to change(subject, :depth).by 2
|
69
|
-
end
|
70
|
-
|
71
|
-
it "changes current" do
|
72
|
-
subject << :foo
|
73
|
-
subject.start_new
|
74
|
-
should_not include :foo
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
describe "#end_current" do
|
79
|
-
context "no current batch" do
|
80
|
-
it "fails" do
|
81
|
-
expect { subject.end_current }.to raise_error Sunspot::Batcher::NoCurrentBatchError
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
context "with current batch" do
|
86
|
-
before { subject.start_new }
|
87
|
-
|
88
|
-
it "changes current" do
|
89
|
-
subject << :foo
|
90
|
-
subject.end_current
|
91
|
-
should_not include :foo
|
92
|
-
end
|
93
|
-
|
94
|
-
it "returns current" do
|
95
|
-
subject << :foo
|
96
|
-
subject.end_current.should include :foo
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
describe "#batching?" do
|
102
|
-
it "is false when depth is 0" do
|
103
|
-
subject.should_receive(:depth).and_return 0
|
104
|
-
should_not be_batching
|
105
|
-
end
|
106
|
-
|
107
|
-
it "is true when depth is more than 0" do
|
108
|
-
subject.should_receive(:depth).and_return 1
|
109
|
-
should be_batching
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require File.expand_path('spec_helper', File.dirname(__FILE__))
|
2
|
-
|
3
|
-
describe "DSL bindings" do
|
4
|
-
it 'should give access to calling context\'s methods in search DSL' do
|
5
|
-
value = nil
|
6
|
-
session.search(Post) do
|
7
|
-
value = test_method
|
8
|
-
end
|
9
|
-
value.should == 'value'
|
10
|
-
end
|
11
|
-
|
12
|
-
it 'should give access to calling context\'s id method in search DSL' do
|
13
|
-
value = nil
|
14
|
-
session.search(Post) do
|
15
|
-
value = id
|
16
|
-
end
|
17
|
-
value.should == 16
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'should give access to calling context\'s methods in nested DSL block' do
|
21
|
-
value = nil
|
22
|
-
session.search(Post) do
|
23
|
-
any_of do
|
24
|
-
value = test_method
|
25
|
-
end
|
26
|
-
end
|
27
|
-
value.should == 'value'
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'should give access to calling context\'s methods in double-nested DSL block' do
|
31
|
-
value = nil
|
32
|
-
session.search(Post) do
|
33
|
-
any_of do
|
34
|
-
all_of do
|
35
|
-
value = test_method
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
private
|
42
|
-
|
43
|
-
def test_method
|
44
|
-
'value'
|
45
|
-
end
|
46
|
-
|
47
|
-
def id
|
48
|
-
16
|
49
|
-
end
|
50
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe Sunspot::ClassSet do
|
4
|
-
it "is enumerable" do
|
5
|
-
class1, class2 = stub(:name => "Class1"), stub(:name => "Class2")
|
6
|
-
|
7
|
-
set = described_class.new
|
8
|
-
set << class1 << class2
|
9
|
-
|
10
|
-
set.to_a.should =~ [class1, class2]
|
11
|
-
end
|
12
|
-
|
13
|
-
it "replaces classes with the same name" do
|
14
|
-
set = described_class.new
|
15
|
-
|
16
|
-
class1 = stub(:name => "Class1")
|
17
|
-
set << class1
|
18
|
-
set.to_a.should == [class1]
|
19
|
-
|
20
|
-
class1_dup = stub(:name => "Class1")
|
21
|
-
set << class1_dup
|
22
|
-
set.to_a.should == [class1_dup]
|
23
|
-
end
|
24
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "spec_helper")
|
2
|
-
|
3
|
-
describe Sunspot::Search::HitEnumerable do
|
4
|
-
subject do
|
5
|
-
Class.new do
|
6
|
-
include Sunspot::Search::HitEnumerable
|
7
|
-
end.new
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "#hits" do
|
11
|
-
before do
|
12
|
-
subject.stub(:solr_docs).and_return([{"id" => "Post 1", "score" => 3.14}])
|
13
|
-
subject.stub(:highlights_for)
|
14
|
-
end
|
15
|
-
|
16
|
-
it "retrieves the raw Solr response from #solr_docs and constructs Hit objects" do
|
17
|
-
Sunspot::Search::Hit.should_receive(:new).
|
18
|
-
with({"id" => "Post 1", "score" => 3.14}, anything, anything)
|
19
|
-
|
20
|
-
subject.hits
|
21
|
-
end
|
22
|
-
|
23
|
-
it "constructs Hit objects with highlights" do
|
24
|
-
subject.should_receive(:highlights_for).with({"id" => "Post 1", "score" => 3.14})
|
25
|
-
|
26
|
-
subject.hits
|
27
|
-
end
|
28
|
-
|
29
|
-
it "returns only verified hits if :verify => true is passed" do
|
30
|
-
Sunspot::Search::Hit.any_instance.stub(:result).and_return(nil)
|
31
|
-
|
32
|
-
subject.hits(:verify => true).should be_empty
|
33
|
-
end
|
34
|
-
|
35
|
-
it "returns an empty array if no results are available from Solr" do
|
36
|
-
subject.stub(:solr_docs).and_return(nil)
|
37
|
-
|
38
|
-
subject.hits.should == []
|
39
|
-
end
|
40
|
-
|
41
|
-
it "provides #populate_hits so that querying for one hit result will eager load the rest" do
|
42
|
-
Sunspot::Search::Hit.any_instance.should_receive(:result=)
|
43
|
-
|
44
|
-
subject.populate_hits
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,149 +0,0 @@
|
|
1
|
-
require File.expand_path('spec_helper', File.dirname(__FILE__))
|
2
|
-
require 'bigdecimal'
|
3
|
-
|
4
|
-
describe 'indexing attribute fields', :type => :indexer do
|
5
|
-
it 'should correctly index a stored string attribute field' do
|
6
|
-
session.index(post(:title => 'A Title'))
|
7
|
-
connection.should have_add_with(:title_ss => 'A Title')
|
8
|
-
end
|
9
|
-
|
10
|
-
it 'should correctly index an integer attribute field' do
|
11
|
-
session.index(post(:blog_id => 4))
|
12
|
-
connection.should have_add_with(:blog_id_i => '4')
|
13
|
-
end
|
14
|
-
|
15
|
-
it 'should correctly index a long attribute field' do
|
16
|
-
session.index(Namespaced::Comment.new(:hash => 2**30))
|
17
|
-
connection.should have_add_with(:hash_l => '1073741824')
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'should correctly index a float attribute field' do
|
21
|
-
session.index(post(:ratings_average => 2.23))
|
22
|
-
connection.should have_add_with(:average_rating_ft => '2.23')
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'should correctly index a double attribute field' do
|
26
|
-
session.index(Namespaced::Comment.new(:average_rating => 2.23))
|
27
|
-
connection.should have_add_with(:average_rating_e => '2.23')
|
28
|
-
end
|
29
|
-
|
30
|
-
it 'should correctly index a trie integer attribute field' do
|
31
|
-
session.index(Photo.new(:size => 104856))
|
32
|
-
connection.should have_add_with(:size_it => '104856')
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'should correctly index a trie float attribute field' do
|
36
|
-
session.index(Photo.new(:average_rating => 2.23))
|
37
|
-
connection.should have_add_with(:average_rating_ft => '2.23')
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'should correctly index a trie time attribute field' do
|
41
|
-
session.index(Photo.new(:created_at => Time.parse('2009-12-16 15:00:00 -0400')))
|
42
|
-
connection.should have_add_with(:created_at_dt => '2009-12-16T19:00:00Z')
|
43
|
-
end
|
44
|
-
|
45
|
-
it 'should allow indexing by a multiple-value field' do
|
46
|
-
session.index(post(:category_ids => [3, 14]))
|
47
|
-
connection.should have_add_with(:category_ids_im => ['3', '14'])
|
48
|
-
end
|
49
|
-
|
50
|
-
it 'should not index a single-value field with newlines as multiple' do
|
51
|
-
session.index(post(:title => "Multi\nLine"))
|
52
|
-
connection.adds.last.first.field_by_name(:title_ss).value.should == "Multi\nLine"
|
53
|
-
end
|
54
|
-
|
55
|
-
it 'should correctly index a time field' do
|
56
|
-
session.index(
|
57
|
-
post(:published_at => Time.parse('1983-07-08 05:00:00 -0400'))
|
58
|
-
)
|
59
|
-
connection.should have_add_with(:published_at_dt => '1983-07-08T09:00:00Z')
|
60
|
-
end
|
61
|
-
|
62
|
-
it 'should correctly index a time field that\'s after 32-bit Y2K' do
|
63
|
-
session.index(
|
64
|
-
post(:published_at => DateTime.parse('2050-07-08 05:00:00 -0400'))
|
65
|
-
)
|
66
|
-
connection.should have_add_with(:published_at_dt => '2050-07-08T09:00:00Z')
|
67
|
-
end
|
68
|
-
|
69
|
-
it 'should correctly index a date field' do
|
70
|
-
session.index(post(:expire_date => Date.new(2009, 07, 13)))
|
71
|
-
connection.should have_add_with(:expire_date_d => '2009-07-13T00:00:00Z')
|
72
|
-
end
|
73
|
-
|
74
|
-
it 'should correctly index a boolean field' do
|
75
|
-
session.index(post(:featured => true))
|
76
|
-
connection.should have_add_with(:featured_bs => 'true')
|
77
|
-
end
|
78
|
-
|
79
|
-
it 'should correctly index a false boolean field' do
|
80
|
-
session.index(post(:featured => false))
|
81
|
-
connection.should have_add_with(:featured_bs => 'false')
|
82
|
-
end
|
83
|
-
|
84
|
-
it 'should not index a nil boolean field' do
|
85
|
-
session.index(post)
|
86
|
-
connection.should_not have_add_with(:featured_bs)
|
87
|
-
end
|
88
|
-
|
89
|
-
it 'should index latitude and longitude as a pair' do
|
90
|
-
session.index(post(:coordinates => Sunspot::Util::Coordinates.new(40.7, -73.5)))
|
91
|
-
connection.should have_add_with(:coordinates_s => 'dr5xx3nytvgs')
|
92
|
-
end
|
93
|
-
|
94
|
-
it 'should index latitude and longitude passed as non-Floats' do
|
95
|
-
coordinates = Sunspot::Util::Coordinates.new(
|
96
|
-
BigDecimal.new('40.7'), BigDecimal.new('-73.5'))
|
97
|
-
session.index(post(:coordinates => coordinates))
|
98
|
-
connection.should have_add_with(:coordinates_s => 'dr5xx3nytvgs')
|
99
|
-
end
|
100
|
-
|
101
|
-
it 'should correctly index an attribute field with block access' do
|
102
|
-
session.index(post(:title => 'The Blog Post'))
|
103
|
-
connection.should have_add_with(:sort_title_s => 'blog post')
|
104
|
-
end
|
105
|
-
|
106
|
-
it 'should correctly index an attribute field with instance-external block access' do
|
107
|
-
session.index(post(:category_ids => [1, 2, 3]))
|
108
|
-
connection.should have_add_with(:primary_category_id_i => '1')
|
109
|
-
end
|
110
|
-
|
111
|
-
it 'should correctly index a field that is defined on a superclass' do
|
112
|
-
Sunspot.setup(SuperClass) { string :author_name }
|
113
|
-
session.index(post(:author_name => 'Mat Brown'))
|
114
|
-
connection.should have_add_with(:author_name_s => 'Mat Brown')
|
115
|
-
end
|
116
|
-
|
117
|
-
it 'should throw a NoMethodError only if a nonexistent type is defined' do
|
118
|
-
lambda { Sunspot.setup(Post) { string :author_name }}.should_not raise_error
|
119
|
-
lambda { Sunspot.setup(Post) { bogus :journey }}.should raise_error(NoMethodError)
|
120
|
-
end
|
121
|
-
|
122
|
-
it 'should throw a NoMethodError if a nonexistent field argument is passed' do
|
123
|
-
lambda { Sunspot.setup(Post) { string :author_name, :bogus => :argument }}.should raise_error(ArgumentError)
|
124
|
-
end
|
125
|
-
|
126
|
-
it 'should throw an ArgumentError if single-value field tries to index multiple values' do
|
127
|
-
lambda do
|
128
|
-
Sunspot.setup(Post) { string :author_name }
|
129
|
-
session.index(post(:author_name => ['Mat Brown', 'Matthew Brown']))
|
130
|
-
end.should raise_error(ArgumentError)
|
131
|
-
end
|
132
|
-
|
133
|
-
it 'should throw an ArgumentError if specifying more_like_this on type that does not support it' do
|
134
|
-
lambda do
|
135
|
-
Sunspot.setup(Post) { integer :popularity, :more_like_this => true }
|
136
|
-
end.should raise_error(ArgumentError)
|
137
|
-
end
|
138
|
-
|
139
|
-
it 'should use a specified field name when the :as option is set' do
|
140
|
-
session.index(post(:title => 'A Title'))
|
141
|
-
connection.should have_add_with(:legacy_field_s => 'legacy A Title')
|
142
|
-
end
|
143
|
-
|
144
|
-
it 'should use a specified field name when the :as option is set for array values' do
|
145
|
-
session.index(post(:title => 'Another Title'))
|
146
|
-
connection.should have_add_with(:legacy_array_field_sm => ['first string', 'second string'])
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|