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.
Files changed (293) hide show
  1. data/.gitignore +6 -10
  2. data/{sunspot_rails/.rspec → .rspec} +0 -0
  3. data/{sunspot_rails/History.txt → History.txt} +0 -0
  4. data/{sunspot/LICENSE → LICENSE} +0 -0
  5. data/{sunspot_rails/MIT-LICENSE → MIT-LICENSE} +0 -0
  6. data/{sunspot_rails/README.rdoc → README.rdoc} +0 -0
  7. data/Rakefile +12 -32
  8. data/{sunspot_rails/TODO → TODO} +0 -0
  9. data/{sunspot_rails/dev_tasks → dev_tasks}/rdoc.rake +0 -0
  10. data/{sunspot_rails/dev_tasks → dev_tasks}/release.rake +0 -0
  11. data/{sunspot_rails/dev_tasks → dev_tasks}/spec.rake +0 -0
  12. data/{sunspot/tasks → dev_tasks}/todo.rake +0 -0
  13. data/{sunspot_rails/gemfiles → gemfiles}/rails-2.3.14 +0 -0
  14. data/{sunspot_rails/gemfiles → gemfiles}/rails-3.0.15 +0 -0
  15. data/{sunspot_rails/gemfiles → gemfiles}/rails-3.1.6 +0 -0
  16. data/{sunspot_rails/gemfiles → gemfiles}/rails-3.2.6 +0 -0
  17. data/{sunspot_rails/generators → generators}/sunspot/sunspot_generator.rb +0 -0
  18. data/{sunspot_rails/generators → generators}/sunspot/templates/sunspot.yml +0 -0
  19. data/{sunspot_rails/install.rb → install.rb} +0 -0
  20. data/{sunspot_rails/lib → lib}/generators/sunspot_rails.rb +0 -0
  21. data/{sunspot_rails/lib → lib}/generators/sunspot_rails/install/install_generator.rb +0 -0
  22. data/{sunspot_rails/lib → lib}/generators/sunspot_rails/install/templates/config/sunspot.yml +0 -0
  23. data/{sunspot_rails/lib → lib}/sunspot/rails.rb +0 -0
  24. data/{sunspot_rails/lib → lib}/sunspot/rails/adapters.rb +0 -0
  25. data/{sunspot_rails/lib → lib}/sunspot/rails/configuration.rb +0 -0
  26. data/{sunspot_rails/lib → lib}/sunspot/rails/init.rb +0 -0
  27. data/{sunspot_rails/lib → lib}/sunspot/rails/log_subscriber.rb +0 -0
  28. data/{sunspot_rails/lib → lib}/sunspot/rails/railtie.rb +0 -0
  29. data/{sunspot_rails/lib → lib}/sunspot/rails/railties/controller_runtime.rb +0 -0
  30. data/{sunspot_rails/lib → lib}/sunspot/rails/request_lifecycle.rb +0 -0
  31. data/{sunspot_rails/lib → lib}/sunspot/rails/searchable.rb +0 -0
  32. data/{sunspot_rails/lib → lib}/sunspot/rails/server.rb +0 -0
  33. data/{sunspot_rails/lib → lib}/sunspot/rails/solr_instrumentation.rb +0 -0
  34. data/{sunspot_rails/lib → lib}/sunspot/rails/solr_logging.rb +0 -0
  35. data/{sunspot_rails/lib → lib}/sunspot/rails/spec_helper.rb +0 -0
  36. data/{sunspot_rails/lib → lib}/sunspot/rails/stub_session_proxy.rb +0 -0
  37. data/{sunspot_rails/lib → lib}/sunspot/rails/tasks.rb +0 -0
  38. data/{sunspot_rails/lib → lib}/sunspot_rails.rb +0 -0
  39. data/{sunspot_rails/spec → spec}/configuration_spec.rb +0 -0
  40. data/{sunspot_rails/spec → spec}/model_lifecycle_spec.rb +0 -0
  41. data/{sunspot_rails/spec → spec}/model_spec.rb +0 -0
  42. data/{sunspot_rails/spec → spec}/rails_template/app/controllers/application_controller.rb +0 -0
  43. data/{sunspot_rails/spec → spec}/rails_template/app/controllers/posts_controller.rb +0 -0
  44. data/{sunspot_rails/spec → spec}/rails_template/app/models/author.rb +0 -0
  45. data/{sunspot_rails/spec → spec}/rails_template/app/models/blog.rb +0 -0
  46. data/{sunspot_rails/spec → spec}/rails_template/app/models/location.rb +0 -0
  47. data/{sunspot_rails/spec → spec}/rails_template/app/models/photo_post.rb +0 -0
  48. data/{sunspot_rails/spec → spec}/rails_template/app/models/post.rb +0 -0
  49. data/{sunspot_rails/spec → spec}/rails_template/app/models/post_with_auto.rb +0 -0
  50. data/{sunspot_rails/spec → spec}/rails_template/app/models/post_with_default_scope.rb +0 -0
  51. data/{sunspot_rails/spec → spec}/rails_template/config/boot.rb +0 -0
  52. data/{sunspot_rails/spec → spec}/rails_template/config/preinitializer.rb +0 -0
  53. data/{sunspot_rails/spec → spec}/rails_template/config/routes.rb +0 -0
  54. data/{sunspot_rails/spec → spec}/rails_template/config/sunspot.yml +0 -0
  55. data/{sunspot_rails/spec → spec}/rails_template/db/schema.rb +0 -0
  56. data/{sunspot_rails/spec → spec}/request_lifecycle_spec.rb +0 -0
  57. data/{sunspot_rails/spec → spec}/schema.rb +0 -0
  58. data/{sunspot_rails/spec → spec}/searchable_spec.rb +0 -0
  59. data/{sunspot_rails/spec → spec}/server_spec.rb +0 -0
  60. data/{sunspot_rails/spec → spec}/session_spec.rb +0 -0
  61. data/{sunspot_rails/spec → spec}/shared_examples/indexed_after_save.rb +0 -0
  62. data/{sunspot_rails/spec → spec}/shared_examples/not_indexed_after_save.rb +0 -0
  63. data/{sunspot_rails/spec → spec}/spec_helper.rb +0 -0
  64. data/{sunspot_rails/spec → spec}/stub_session_proxy_spec.rb +0 -0
  65. data/{sunspot_rails/sunspot_rails.gemspec → sunspot_rails.gemspec} +0 -0
  66. metadata +102 -305
  67. data/.travis.yml +0 -35
  68. data/README.md +0 -863
  69. data/ci/travis.sh +0 -67
  70. data/sunspot/.gitignore +0 -13
  71. data/sunspot/Gemfile +0 -5
  72. data/sunspot/History.txt +0 -258
  73. data/sunspot/Rakefile +0 -13
  74. data/sunspot/TODO +0 -13
  75. data/sunspot/lib/light_config.rb +0 -40
  76. data/sunspot/lib/sunspot.rb +0 -579
  77. data/sunspot/lib/sunspot/adapters.rb +0 -349
  78. data/sunspot/lib/sunspot/batcher.rb +0 -62
  79. data/sunspot/lib/sunspot/class_set.rb +0 -23
  80. data/sunspot/lib/sunspot/composite_setup.rb +0 -202
  81. data/sunspot/lib/sunspot/configuration.rb +0 -53
  82. data/sunspot/lib/sunspot/data_extractor.rb +0 -50
  83. data/sunspot/lib/sunspot/dsl.rb +0 -5
  84. data/sunspot/lib/sunspot/dsl/adjustable.rb +0 -47
  85. data/sunspot/lib/sunspot/dsl/field_group.rb +0 -57
  86. data/sunspot/lib/sunspot/dsl/field_query.rb +0 -345
  87. data/sunspot/lib/sunspot/dsl/fields.rb +0 -103
  88. data/sunspot/lib/sunspot/dsl/fulltext.rb +0 -243
  89. data/sunspot/lib/sunspot/dsl/function.rb +0 -27
  90. data/sunspot/lib/sunspot/dsl/functional.rb +0 -44
  91. data/sunspot/lib/sunspot/dsl/more_like_this_query.rb +0 -56
  92. data/sunspot/lib/sunspot/dsl/paginatable.rb +0 -32
  93. data/sunspot/lib/sunspot/dsl/query_facet.rb +0 -36
  94. data/sunspot/lib/sunspot/dsl/restriction.rb +0 -25
  95. data/sunspot/lib/sunspot/dsl/restriction_with_near.rb +0 -160
  96. data/sunspot/lib/sunspot/dsl/scope.rb +0 -214
  97. data/sunspot/lib/sunspot/dsl/search.rb +0 -30
  98. data/sunspot/lib/sunspot/dsl/standard_query.rb +0 -122
  99. data/sunspot/lib/sunspot/field.rb +0 -193
  100. data/sunspot/lib/sunspot/field_factory.rb +0 -129
  101. data/sunspot/lib/sunspot/indexer.rb +0 -136
  102. data/sunspot/lib/sunspot/query.rb +0 -11
  103. data/sunspot/lib/sunspot/query/abstract_field_facet.rb +0 -55
  104. data/sunspot/lib/sunspot/query/bbox.rb +0 -15
  105. data/sunspot/lib/sunspot/query/boost_query.rb +0 -24
  106. data/sunspot/lib/sunspot/query/common_query.rb +0 -96
  107. data/sunspot/lib/sunspot/query/composite_fulltext.rb +0 -36
  108. data/sunspot/lib/sunspot/query/connective.rb +0 -206
  109. data/sunspot/lib/sunspot/query/date_field_facet.rb +0 -14
  110. data/sunspot/lib/sunspot/query/dismax.rb +0 -132
  111. data/sunspot/lib/sunspot/query/field_facet.rb +0 -41
  112. data/sunspot/lib/sunspot/query/field_group.rb +0 -37
  113. data/sunspot/lib/sunspot/query/filter.rb +0 -38
  114. data/sunspot/lib/sunspot/query/function_query.rb +0 -52
  115. data/sunspot/lib/sunspot/query/geo.rb +0 -53
  116. data/sunspot/lib/sunspot/query/geofilt.rb +0 -16
  117. data/sunspot/lib/sunspot/query/highlighting.rb +0 -62
  118. data/sunspot/lib/sunspot/query/more_like_this.rb +0 -61
  119. data/sunspot/lib/sunspot/query/more_like_this_query.rb +0 -12
  120. data/sunspot/lib/sunspot/query/pagination.rb +0 -42
  121. data/sunspot/lib/sunspot/query/query_facet.rb +0 -53
  122. data/sunspot/lib/sunspot/query/range_facet.rb +0 -15
  123. data/sunspot/lib/sunspot/query/restriction.rb +0 -308
  124. data/sunspot/lib/sunspot/query/scope.rb +0 -9
  125. data/sunspot/lib/sunspot/query/sort.rb +0 -109
  126. data/sunspot/lib/sunspot/query/sort_composite.rb +0 -34
  127. data/sunspot/lib/sunspot/query/standard_query.rb +0 -16
  128. data/sunspot/lib/sunspot/query/text_field_boost.rb +0 -17
  129. data/sunspot/lib/sunspot/schema.rb +0 -151
  130. data/sunspot/lib/sunspot/search.rb +0 -9
  131. data/sunspot/lib/sunspot/search/abstract_search.rb +0 -286
  132. data/sunspot/lib/sunspot/search/date_facet.rb +0 -35
  133. data/sunspot/lib/sunspot/search/facet_row.rb +0 -27
  134. data/sunspot/lib/sunspot/search/field_facet.rb +0 -88
  135. data/sunspot/lib/sunspot/search/field_group.rb +0 -70
  136. data/sunspot/lib/sunspot/search/group.rb +0 -54
  137. data/sunspot/lib/sunspot/search/highlight.rb +0 -38
  138. data/sunspot/lib/sunspot/search/hit.rb +0 -150
  139. data/sunspot/lib/sunspot/search/hit_enumerable.rb +0 -68
  140. data/sunspot/lib/sunspot/search/more_like_this_search.rb +0 -31
  141. data/sunspot/lib/sunspot/search/paginated_collection.rb +0 -57
  142. data/sunspot/lib/sunspot/search/query_facet.rb +0 -67
  143. data/sunspot/lib/sunspot/search/range_facet.rb +0 -37
  144. data/sunspot/lib/sunspot/search/standard_search.rb +0 -21
  145. data/sunspot/lib/sunspot/session.rb +0 -262
  146. data/sunspot/lib/sunspot/session_proxy.rb +0 -95
  147. data/sunspot/lib/sunspot/session_proxy/abstract_session_proxy.rb +0 -29
  148. data/sunspot/lib/sunspot/session_proxy/class_sharding_session_proxy.rb +0 -66
  149. data/sunspot/lib/sunspot/session_proxy/id_sharding_session_proxy.rb +0 -89
  150. data/sunspot/lib/sunspot/session_proxy/master_slave_session_proxy.rb +0 -43
  151. data/sunspot/lib/sunspot/session_proxy/retry_5xx_session_proxy.rb +0 -67
  152. data/sunspot/lib/sunspot/session_proxy/sharding_session_proxy.rb +0 -222
  153. data/sunspot/lib/sunspot/session_proxy/silent_fail_session_proxy.rb +0 -42
  154. data/sunspot/lib/sunspot/session_proxy/thread_local_session_proxy.rb +0 -37
  155. data/sunspot/lib/sunspot/setup.rb +0 -350
  156. data/sunspot/lib/sunspot/text_field_setup.rb +0 -29
  157. data/sunspot/lib/sunspot/type.rb +0 -393
  158. data/sunspot/lib/sunspot/util.rb +0 -252
  159. data/sunspot/lib/sunspot/version.rb +0 -3
  160. data/sunspot/script/console +0 -10
  161. data/sunspot/spec/api/adapters_spec.rb +0 -68
  162. data/sunspot/spec/api/batcher_spec.rb +0 -112
  163. data/sunspot/spec/api/binding_spec.rb +0 -50
  164. data/sunspot/spec/api/class_set_spec.rb +0 -24
  165. data/sunspot/spec/api/hit_enumerable_spec.rb +0 -47
  166. data/sunspot/spec/api/indexer/attributes_spec.rb +0 -149
  167. data/sunspot/spec/api/indexer/batch_spec.rb +0 -72
  168. data/sunspot/spec/api/indexer/dynamic_fields_spec.rb +0 -42
  169. data/sunspot/spec/api/indexer/fixed_fields_spec.rb +0 -57
  170. data/sunspot/spec/api/indexer/fulltext_spec.rb +0 -43
  171. data/sunspot/spec/api/indexer/removal_spec.rb +0 -53
  172. data/sunspot/spec/api/indexer/spec_helper.rb +0 -1
  173. data/sunspot/spec/api/indexer_spec.rb +0 -14
  174. data/sunspot/spec/api/query/advanced_manipulation_examples.rb +0 -35
  175. data/sunspot/spec/api/query/connectives_examples.rb +0 -201
  176. data/sunspot/spec/api/query/dsl_spec.rb +0 -18
  177. data/sunspot/spec/api/query/dynamic_fields_examples.rb +0 -165
  178. data/sunspot/spec/api/query/faceting_examples.rb +0 -497
  179. data/sunspot/spec/api/query/fulltext_examples.rb +0 -313
  180. data/sunspot/spec/api/query/function_spec.rb +0 -79
  181. data/sunspot/spec/api/query/geo_examples.rb +0 -68
  182. data/sunspot/spec/api/query/group_spec.rb +0 -32
  183. data/sunspot/spec/api/query/highlighting_examples.rb +0 -245
  184. data/sunspot/spec/api/query/more_like_this_spec.rb +0 -140
  185. data/sunspot/spec/api/query/ordering_pagination_examples.rb +0 -116
  186. data/sunspot/spec/api/query/scope_examples.rb +0 -275
  187. data/sunspot/spec/api/query/spatial_examples.rb +0 -27
  188. data/sunspot/spec/api/query/spec_helper.rb +0 -1
  189. data/sunspot/spec/api/query/standard_spec.rb +0 -29
  190. data/sunspot/spec/api/query/text_field_scoping_examples.rb +0 -30
  191. data/sunspot/spec/api/query/types_spec.rb +0 -20
  192. data/sunspot/spec/api/search/dynamic_fields_spec.rb +0 -33
  193. data/sunspot/spec/api/search/faceting_spec.rb +0 -360
  194. data/sunspot/spec/api/search/highlighting_spec.rb +0 -69
  195. data/sunspot/spec/api/search/hits_spec.rb +0 -147
  196. data/sunspot/spec/api/search/paginated_collection_spec.rb +0 -36
  197. data/sunspot/spec/api/search/results_spec.rb +0 -72
  198. data/sunspot/spec/api/search/search_spec.rb +0 -23
  199. data/sunspot/spec/api/search/spec_helper.rb +0 -1
  200. data/sunspot/spec/api/session_proxy/class_sharding_session_proxy_spec.rb +0 -85
  201. data/sunspot/spec/api/session_proxy/id_sharding_session_proxy_spec.rb +0 -30
  202. data/sunspot/spec/api/session_proxy/master_slave_session_proxy_spec.rb +0 -41
  203. data/sunspot/spec/api/session_proxy/retry_5xx_session_proxy_spec.rb +0 -78
  204. data/sunspot/spec/api/session_proxy/sharding_session_proxy_spec.rb +0 -77
  205. data/sunspot/spec/api/session_proxy/silent_fail_session_proxy_spec.rb +0 -24
  206. data/sunspot/spec/api/session_proxy/spec_helper.rb +0 -9
  207. data/sunspot/spec/api/session_proxy/thread_local_session_proxy_spec.rb +0 -39
  208. data/sunspot/spec/api/session_spec.rb +0 -232
  209. data/sunspot/spec/api/spec_helper.rb +0 -3
  210. data/sunspot/spec/api/sunspot_spec.rb +0 -29
  211. data/sunspot/spec/ext.rb +0 -11
  212. data/sunspot/spec/helpers/indexer_helper.rb +0 -17
  213. data/sunspot/spec/helpers/integration_helper.rb +0 -8
  214. data/sunspot/spec/helpers/mock_session_helper.rb +0 -13
  215. data/sunspot/spec/helpers/query_helper.rb +0 -26
  216. data/sunspot/spec/helpers/search_helper.rb +0 -68
  217. data/sunspot/spec/integration/dynamic_fields_spec.rb +0 -57
  218. data/sunspot/spec/integration/faceting_spec.rb +0 -330
  219. data/sunspot/spec/integration/field_grouping_spec.rb +0 -100
  220. data/sunspot/spec/integration/geospatial_spec.rb +0 -96
  221. data/sunspot/spec/integration/highlighting_spec.rb +0 -44
  222. data/sunspot/spec/integration/indexing_spec.rb +0 -55
  223. data/sunspot/spec/integration/keyword_search_spec.rb +0 -317
  224. data/sunspot/spec/integration/local_search_spec.rb +0 -64
  225. data/sunspot/spec/integration/more_like_this_spec.rb +0 -43
  226. data/sunspot/spec/integration/scoped_search_spec.rb +0 -386
  227. data/sunspot/spec/integration/stored_fields_spec.rb +0 -12
  228. data/sunspot/spec/integration/test_pagination.rb +0 -43
  229. data/sunspot/spec/integration/unicode_spec.rb +0 -15
  230. data/sunspot/spec/mocks/adapters.rb +0 -33
  231. data/sunspot/spec/mocks/blog.rb +0 -3
  232. data/sunspot/spec/mocks/comment.rb +0 -21
  233. data/sunspot/spec/mocks/connection.rb +0 -126
  234. data/sunspot/spec/mocks/mock_adapter.rb +0 -30
  235. data/sunspot/spec/mocks/mock_class_sharding_session_proxy.rb +0 -24
  236. data/sunspot/spec/mocks/mock_record.rb +0 -52
  237. data/sunspot/spec/mocks/mock_sharding_session_proxy.rb +0 -15
  238. data/sunspot/spec/mocks/photo.rb +0 -11
  239. data/sunspot/spec/mocks/post.rb +0 -86
  240. data/sunspot/spec/mocks/super_class.rb +0 -2
  241. data/sunspot/spec/mocks/user.rb +0 -13
  242. data/sunspot/spec/spec_helper.rb +0 -40
  243. data/sunspot/sunspot.gemspec +0 -37
  244. data/sunspot/tasks/rdoc.rake +0 -27
  245. data/sunspot/tasks/schema.rake +0 -19
  246. data/sunspot_rails/.gitignore +0 -7
  247. data/sunspot_rails/LICENSE +0 -18
  248. data/sunspot_rails/Rakefile +0 -17
  249. data/sunspot_rails/dev_tasks/todo.rake +0 -4
  250. data/sunspot_solr/Gemfile +0 -3
  251. data/sunspot_solr/README.rdoc +0 -24
  252. data/sunspot_solr/bin/sunspot-installer +0 -20
  253. data/sunspot_solr/bin/sunspot-solr +0 -80
  254. data/sunspot_solr/lib/sunspot/solr/installer.rb +0 -25
  255. data/sunspot_solr/lib/sunspot/solr/installer/config_installer.rb +0 -46
  256. data/sunspot_solr/lib/sunspot/solr/installer/task_helper.rb +0 -13
  257. data/sunspot_solr/lib/sunspot/solr/java.rb +0 -10
  258. data/sunspot_solr/lib/sunspot/solr/railtie.rb +0 -15
  259. data/sunspot_solr/lib/sunspot/solr/server.rb +0 -223
  260. data/sunspot_solr/lib/sunspot/solr/tasks.rb +0 -49
  261. data/sunspot_solr/lib/sunspot_solr.rb +0 -5
  262. data/sunspot_solr/solr/README.txt +0 -42
  263. data/sunspot_solr/solr/etc/jetty.xml +0 -219
  264. data/sunspot_solr/solr/etc/webdefault.xml +0 -379
  265. data/sunspot_solr/solr/lib/jetty-6.1.26-patched-JETTY-1340.jar +0 -0
  266. data/sunspot_solr/solr/lib/jetty-util-6.1.26-patched-JETTY-1340.jar +0 -0
  267. data/sunspot_solr/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  268. data/sunspot_solr/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  269. data/sunspot_solr/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  270. data/sunspot_solr/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  271. data/sunspot_solr/solr/lib/servlet-api-2.5-20081211.jar +0 -0
  272. data/sunspot_solr/solr/solr/.gitignore +0 -1
  273. data/sunspot_solr/solr/solr/README.txt +0 -54
  274. data/sunspot_solr/solr/solr/conf/admin-extra.html +0 -31
  275. data/sunspot_solr/solr/solr/conf/elevate.xml +0 -36
  276. data/sunspot_solr/solr/solr/conf/mapping-ISOLatin1Accent.txt +0 -246
  277. data/sunspot_solr/solr/solr/conf/protwords.txt +0 -21
  278. data/sunspot_solr/solr/solr/conf/schema.xml +0 -250
  279. data/sunspot_solr/solr/solr/conf/scripts.conf +0 -24
  280. data/sunspot_solr/solr/solr/conf/solrconfig.xml +0 -934
  281. data/sunspot_solr/solr/solr/conf/spellings.txt +0 -2
  282. data/sunspot_solr/solr/solr/conf/stopwords.txt +0 -58
  283. data/sunspot_solr/solr/solr/conf/synonyms.txt +0 -31
  284. data/sunspot_solr/solr/solr/conf/xslt/example.xsl +0 -132
  285. data/sunspot_solr/solr/solr/conf/xslt/example_atom.xsl +0 -67
  286. data/sunspot_solr/solr/solr/conf/xslt/example_rss.xsl +0 -66
  287. data/sunspot_solr/solr/solr/conf/xslt/luke.xsl +0 -337
  288. data/sunspot_solr/solr/start.jar +0 -0
  289. data/sunspot_solr/solr/webapps/solr.war +0 -0
  290. data/sunspot_solr/spec/server_spec.rb +0 -98
  291. data/sunspot_solr/spec/spec_helper.rb +0 -18
  292. data/sunspot_solr/sunspot_solr.gemspec +0 -37
  293. data/tools/gem_tasks.rb +0 -69
@@ -1,12 +0,0 @@
1
- require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
-
3
- describe 'stored fields' do
4
- before :all do
5
- Sunspot.remove_all
6
- Sunspot.index!(Post.new(:title => 'A Title'))
7
- end
8
-
9
- it 'should return stored fields' do
10
- Sunspot.search(Post).hits.first.stored(:title).should == 'A Title'
11
- end
12
- end
@@ -1,43 +0,0 @@
1
- require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
-
3
- describe 'pagination' do
4
- before :all do
5
- Sunspot.remove_all
6
- @posts = (0..19).map do |i|
7
- Post.new(:blog_id => i)
8
- end
9
- Sunspot.index!(*@posts)
10
- end
11
-
12
- it 'should return all by default' do
13
- results = Sunspot.search(Post) { order_by :blog_id }.results
14
- results.should == @posts
15
- end
16
-
17
- it 'should return first page of 10' do
18
- results = Sunspot.search(Post) do
19
- order_by :blog_id
20
- paginate :page => 1, :per_page => 10
21
- end.results
22
- results.should == @posts[0,10]
23
- end
24
-
25
- it 'should return second page of 10' do
26
- results = Sunspot.search(Post) do
27
- order_by :blog_id
28
- paginate :page => 2, :per_page => 10
29
- end.results
30
- results.should == @posts[10,10]
31
- end
32
-
33
- it 'should return pages with offsets' do
34
- results = Sunspot.search(Post) do
35
- order_by :blog_id
36
- paginate :page => 2, :per_page => 5, :offset => 3
37
- end.results
38
-
39
- # page 1 is 3, 4, 5, 6, 7
40
- # page 2 is 8, 9, 10, 11, 12
41
- results.should == @posts[8,5]
42
- end
43
- end
@@ -1,15 +0,0 @@
1
- # encoding: utf-8
2
- require File.expand_path("../spec_helper", File.dirname(__FILE__))
3
-
4
- describe "unicode characters" do
5
- before :each do
6
- Sunspot.remove_all
7
-
8
- @post = Post.new(:title => "Híghgrøøvé")
9
- Sunspot.index!(@post)
10
- end
11
-
12
- it "correctly retrieves the string as UTF-8" do
13
- Sunspot.search(Post).hits.first.stored(:title).should == "Híghgrøøvé"
14
- end
15
- end
@@ -1,33 +0,0 @@
1
- class AbstractModel
2
- end
3
-
4
- class Model < AbstractModel
5
- end
6
-
7
- class AbstractModelInstanceAdapter < Sunspot::Adapters::InstanceAdapter
8
- end
9
-
10
- class AbstractModelDataAccessor < Sunspot::Adapters::DataAccessor
11
- attr_accessor :to_be_injected
12
- end
13
-
14
- Sunspot::Adapters::InstanceAdapter.register(AbstractModelInstanceAdapter, AbstractModel)
15
- Sunspot::Adapters::DataAccessor.register(AbstractModelDataAccessor, AbstractModel)
16
-
17
-
18
- module MixInModel
19
- end
20
-
21
- class MixModel
22
- include MixInModel
23
- end
24
-
25
- class MixInModelInstanceAdapter < Sunspot::Adapters::InstanceAdapter
26
- end
27
-
28
- class MixInModelDataAccessor < Sunspot::Adapters::DataAccessor
29
- end
30
-
31
- Sunspot::Adapters::InstanceAdapter.register(MixInModelInstanceAdapter, MixInModel)
32
- Sunspot::Adapters::DataAccessor.register(MixInModelDataAccessor, MixInModel)
33
-
@@ -1,3 +0,0 @@
1
- class Blog < MockRecord
2
- attr_accessor :name
3
- end
@@ -1,21 +0,0 @@
1
- module Namespaced
2
- class Comment < MockRecord
3
- attr_reader :id
4
- attr_accessor :author_name, :published_at, :body, :average_rating, :boost,
5
- :hash
6
-
7
- def custom_float
8
- @custom_float ||= {}
9
- end
10
- end
11
- end
12
-
13
- Sunspot.setup(Namespaced::Comment) do
14
- text :body, :author_name
15
- string :author_name
16
- time :published_at, :trie => true
17
- long :hash
18
- double :average_rating
19
- dynamic_float :custom_float, :multiple => true
20
- boost :boost
21
- end
@@ -1,126 +0,0 @@
1
- module Mock
2
- class ConnectionFactory
3
- def connect(opts)
4
- if @instance
5
- raise('Factory can only create an instance once!')
6
- else
7
- @instance = Connection.new(opts)
8
- end
9
- end
10
-
11
- def new(url = nil)
12
- if @instance
13
- raise('Factory can only create an instance once!')
14
- else
15
- @instance = Connection.new(url)
16
- end
17
- end
18
-
19
- def instance
20
- @instance ||= Connection.new
21
- end
22
- end
23
-
24
- class Connection
25
- attr_reader :adds, :commits, :optims, :searches, :message, :opts, :deletes_by_query
26
- attr_accessor :response
27
- attr_writer :expected_handler
28
- undef_method :select # annoyingly defined on Object
29
-
30
- def initialize(opts = {})
31
- @opts = opts
32
- @message = OpenStruct.new
33
- @adds, @deletes, @deletes_by_query, @commits, @optims, @searches = Array.new(6) { [] }
34
- @expected_handler = :select
35
- end
36
-
37
- def add(documents)
38
- @adds << Array(documents)
39
- end
40
-
41
- def delete_by_id(ids)
42
- @deletes << Array(ids)
43
- end
44
-
45
- def delete_by_query(query)
46
- @deletes_by_query << query
47
- end
48
-
49
- def commit
50
- @commits << Time.now
51
- end
52
-
53
- def optimize
54
- @optims << Time.now
55
- end
56
-
57
- def post(path, params)
58
- unless path == "#{@expected_handler}"
59
- raise ArgumentError, "Expected request to #{@expected_handler} request handler"
60
- end
61
- @searches << @last_search = params[:data]
62
- @response || {}
63
- end
64
-
65
- def method_missing(method, *args, &block)
66
- get("#{method}", *args)
67
- end
68
-
69
- def has_add_with?(*documents)
70
- @adds.any? do |add|
71
- documents.all? do |document|
72
- add.any? do |added|
73
- if document.is_a?(Hash)
74
- document.all? do |field, value|
75
- added.fields_by_name(field).map do |field|
76
- field.value.to_s
77
- end == Array(value).map { |v| v.to_s }
78
- end
79
- else
80
- !added.fields_by_name(document).empty?
81
- end
82
- end
83
- end
84
- end
85
- end
86
-
87
- def has_delete?(*ids)
88
- @deletes.any? do |delete|
89
- delete & ids == ids
90
- end
91
- end
92
-
93
- def has_delete_by_query?(query)
94
- @deletes_by_query.include?(query)
95
- end
96
-
97
- def has_last_search_with?(params)
98
- with?(@last_search, params) if @last_search
99
- end
100
-
101
- def has_last_search_including?(key, *values)
102
- return unless @last_search
103
- if @last_search.has_key?(key)
104
- if @last_search[key].is_a?(Array)
105
- (@last_search[key] & values).length == values.length
106
- elsif values.length == 1
107
- @last_search[key] == values.first
108
- end
109
- end
110
- end
111
-
112
- private
113
-
114
- def with?(request, params)
115
- if params.respond_to?(:all?)
116
- params.all? do |key, value|
117
- if request.has_key?(key)
118
- request[key] == value
119
- end
120
- end
121
- else
122
- request.has_key?(params)
123
- end
124
- end
125
- end
126
- end
@@ -1,30 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'post')
2
-
3
- module MockAdapter
4
- class InstanceAdapter < Sunspot::Adapters::InstanceAdapter
5
- def id
6
- @instance.id
7
- end
8
- end
9
-
10
- class DataAccessor < Sunspot::Adapters::DataAccessor
11
- def load(id)
12
- @clazz.get(id.to_i)
13
- end
14
-
15
- def load_all(ids)
16
- all = @clazz.get_all(ids.map { |id| id.to_i })
17
- if @custom_title
18
- all.each { |item| item.title = @custom_title }
19
- end
20
- all
21
- end
22
-
23
- def custom_title=(custom_title)
24
- @custom_title = custom_title
25
- end
26
- end
27
- end
28
-
29
- Sunspot::Adapters::DataAccessor.register(MockAdapter::DataAccessor, MockRecord)
30
- Sunspot::Adapters::InstanceAdapter.register(MockAdapter::InstanceAdapter, MockRecord)
@@ -1,24 +0,0 @@
1
- class MockClassShardingSessionProxy < Sunspot::SessionProxy::ClassShardingSessionProxy
2
- attr_reader :post_session, :photo_session
3
-
4
- def initialize(search_session)
5
- super
6
- @post_session, @photo_session = Sunspot::Session.new, Sunspot::Session.new
7
- @post_session.config.solr.url = 'http://posts.solr.local/solr'
8
- @photo_session.config.solr.url = 'http://photos.solr.local/solr'
9
- @sessions = {
10
- Post => @post_session,
11
- Photo => @photo_session
12
- }
13
- end
14
-
15
- def session_for_class(clazz)
16
- @sessions[clazz]
17
- end
18
-
19
- def all_sessions
20
- @sessions.values.sort do |lsession, rsession|
21
- lsession.config.solr.url <=> rsession.config.solr.url
22
- end
23
- end
24
- end
@@ -1,52 +0,0 @@
1
- class MockRecord
2
- IDS = Hash.new { |h, k| h[k] = 0 }
3
- QUERY_COUNTS = Hash.new { |h, k| h[k] = 0 }
4
- INSTANCES = Hash.new { |h, k| h[k] = {} }
5
-
6
- attr_reader :id
7
-
8
- class <<self
9
- def reset!
10
- IDS[name.to_sym] = 0
11
- INSTANCES[name.to_sym] = {}
12
- end
13
- end
14
-
15
- def initialize(attrs = {})
16
- @id = attrs.delete(:id) || IDS[self.class.name.to_sym] += 1
17
- INSTANCES[self.class.name.to_sym][@id] = self
18
- attrs.each_pair do |name, value|
19
- send(:"#{name}=", value)
20
- end
21
- end
22
-
23
- def self.inherited(base)
24
- base.extend(ClassMethods)
25
- end
26
-
27
- module ClassMethods
28
- def get(id)
29
- QUERY_COUNTS[self.name.to_sym] += 1
30
- get_instance(id)
31
- end
32
-
33
- def get_all(ids)
34
- QUERY_COUNTS[self.name.to_sym] += 1
35
- ids.map { |id| get_instance(id) }.compact.sort_by { |instance| instance.id }
36
- end
37
-
38
- def query_count
39
- QUERY_COUNTS[self.name.to_sym]
40
- end
41
-
42
- private
43
-
44
- def get_instance(id)
45
- INSTANCES[self.name.to_sym][id]
46
- end
47
- end
48
-
49
- def destroy
50
- INSTANCES[self.class.name.to_sym].delete(@id)
51
- end
52
- end
@@ -1,15 +0,0 @@
1
- class MockShardingSessionProxy < Sunspot::SessionProxy::ShardingSessionProxy
2
- attr_reader :sessions
3
- alias_method :all_sessions, :sessions
4
-
5
- def initialize(search_session)
6
- super
7
- @sessions = Array.new(2) { Sunspot::Session.new }.each_with_index do |session, i|
8
- session.config.solr.url = "http://localhost:898#{i}/solr"
9
- end
10
- end
11
-
12
- def session_for(object)
13
- @sessions[object.blog_id.to_i % 2]
14
- end
15
- end
@@ -1,11 +0,0 @@
1
- class Photo < MockRecord
2
- attr_accessor :caption, :lat, :lng, :size, :average_rating, :created_at
3
- end
4
-
5
- Sunspot.setup(Photo) do
6
- text :caption, :default_boost => 1.5
7
- boost 0.75
8
- integer :size, :trie => true
9
- float :average_rating, :trie => true
10
- time :created_at, :trie => true
11
- end
@@ -1,86 +0,0 @@
1
- require File.join(File.dirname(__FILE__), 'blog')
2
- require File.join(File.dirname(__FILE__), 'super_class')
3
-
4
- class Post < SuperClass
5
- attr_accessor :title, :body, :blog_id, :published_at, :ratings_average,
6
- :author_name, :featured, :expire_date, :coordinates, :tags
7
- alias_method :featured?, :featured
8
-
9
- def category_ids
10
- @category_ids ||= []
11
- end
12
-
13
- def custom_string
14
- @custom_string ||= {}
15
- end
16
-
17
- def custom_fl
18
- @custom_fl ||= {}
19
- end
20
-
21
- def custom_time
22
- @custom_time ||= {}
23
- end
24
-
25
- def custom_boolean
26
- @custom_boolean ||= {}
27
- end
28
-
29
- private
30
- attr_writer :category_ids, :custom_string, :custom_fl, :custom_time, :custom_boolean
31
- end
32
-
33
- Sunspot.setup(Post) do
34
- text :title, :boost => 2
35
- text :body, :stored => true, :more_like_this => true
36
- text :backwards_title do
37
- title.reverse if title
38
- end
39
- text :tags, :more_like_this => true
40
- string :title, :stored => true
41
- integer :blog_id, :references => Blog
42
- integer :category_ids, :multiple => true
43
- float :average_rating, :using => :ratings_average, :trie => true
44
- time :published_at, :trie => true
45
- date :expire_date
46
- boolean :featured, :using => :featured?, :stored => true
47
- string :sort_title do
48
- title.downcase.sub(/^(a|an|the)\W+/, '') if title
49
- end
50
- integer :primary_category_id do |post|
51
- post.category_ids.first
52
- end
53
- time :last_indexed_at, :stored => true do
54
- Time.now
55
- end
56
- location :coordinates
57
- latlon(:coordinates_new) { coordinates }
58
-
59
- dynamic_string :custom_string, :stored => true
60
- dynamic_float :custom_float, :multiple => true, :using => :custom_fl
61
- dynamic_integer :custom_integer do
62
- category_ids.inject({}) do |hash, category_id|
63
- hash.merge(category_id => 1)
64
- end
65
- end
66
- dynamic_time :custom_time
67
- dynamic_boolean :custom_boolean
68
-
69
- boost do
70
- if ratings_average
71
- 1 + (ratings_average - 3.0) / 4.0
72
- end
73
- end
74
-
75
- string :legacy, :as => :legacy_field_s do
76
- "legacy #{title}"
77
- end
78
-
79
- string :legacy_array, :as => :legacy_array_field_sm, :multiple => true do
80
- ['first string', 'second string']
81
- end
82
- end
83
-
84
- class PhotoPost < Post
85
- end
86
-