tire 0.4.0.pre → 0.4.0.rc

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/README.markdown +6 -10
  2. data/examples/rails-application-template.rb +6 -6
  3. data/examples/tire-dsl.rb +10 -9
  4. data/lib/tire.rb +8 -0
  5. data/lib/tire/dsl.rb +7 -6
  6. data/lib/tire/index.rb +22 -12
  7. data/lib/tire/model/import.rb +3 -2
  8. data/lib/tire/model/indexing.rb +21 -13
  9. data/lib/tire/model/naming.rb +2 -1
  10. data/lib/tire/model/persistence.rb +1 -1
  11. data/lib/tire/results/collection.rb +20 -17
  12. data/lib/tire/results/item.rb +1 -1
  13. data/lib/tire/rubyext/ruby_1_8.rb +7 -0
  14. data/lib/tire/search.rb +33 -19
  15. data/lib/tire/search/facet.rb +5 -0
  16. data/lib/tire/search/query.rb +8 -3
  17. data/lib/tire/tasks.rb +47 -14
  18. data/lib/tire/utils.rb +17 -0
  19. data/lib/tire/version.rb +13 -2
  20. data/test/integration/active_model_indexing_test.rb +1 -0
  21. data/test/integration/active_model_searchable_test.rb +7 -5
  22. data/test/integration/active_record_searchable_test.rb +159 -72
  23. data/test/integration/count_test.rb +34 -0
  24. data/test/integration/dsl_search_test.rb +22 -0
  25. data/test/integration/explanation_test.rb +44 -0
  26. data/test/integration/facets_test.rb +15 -0
  27. data/test/integration/fuzzy_queries_test.rb +20 -0
  28. data/test/integration/mongoid_searchable_test.rb +1 -0
  29. data/test/integration/persistent_model_test.rb +22 -1
  30. data/test/integration/text_query_test.rb +17 -3
  31. data/test/models/active_record_models.rb +43 -1
  32. data/test/models/mongoid_models.rb +0 -1
  33. data/test/models/persistent_article_in_namespace.rb +12 -0
  34. data/test/models/supermodel_article.rb +5 -10
  35. data/test/test_helper.rb +16 -2
  36. data/test/unit/index_test.rb +90 -16
  37. data/test/unit/model_import_test.rb +4 -4
  38. data/test/unit/model_search_test.rb +13 -10
  39. data/test/unit/results_collection_test.rb +6 -0
  40. data/test/unit/results_item_test.rb +8 -0
  41. data/test/unit/search_facet_test.rb +9 -0
  42. data/test/unit/search_query_test.rb +36 -7
  43. data/test/unit/search_test.rb +70 -1
  44. data/test/unit/tire_test.rb +23 -12
  45. data/tire.gemspec +11 -8
  46. metadata +90 -48
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0.pre
4
+ version: 0.4.0.rc
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-13 00:00:00.000000000 Z
12
+ date: 2012-03-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70178931888260 !ruby/object:Gem::Requirement
16
+ requirement: &70284800265540 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70178931888260
24
+ version_requirements: *70284800265540
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rest-client
27
- requirement: &70178931886960 !ruby/object:Gem::Requirement
27
+ requirement: &70284800278180 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,54 +32,54 @@ dependencies:
32
32
  version: 1.6.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70178931886960
35
+ version_requirements: *70284800278180
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: multi_json
38
- requirement: &70178931896160 !ruby/object:Gem::Requirement
38
+ requirement: &70284800277320 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
42
42
  - !ruby/object:Gem::Version
43
- version: '1.0'
43
+ version: '1.1'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70178931896160
46
+ version_requirements: *70284800277320
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: activemodel
49
- requirement: &70178931895180 !ruby/object:Gem::Requirement
49
+ requirement: &70284800276320 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
- - - ~>
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70178931895180
57
+ version_requirements: *70284800276320
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: hashr
60
- requirement: &70178931893720 !ruby/object:Gem::Requirement
60
+ requirement: &70284800275340 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
64
64
  - !ruby/object:Gem::Version
65
- version: 0.0.16
65
+ version: 0.0.19
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70178931893720
68
+ version_requirements: *70284800275340
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &70178931892600 !ruby/object:Gem::Requirement
71
+ requirement: &70284800274440 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
- - - ~>
74
+ - - ! '>='
75
75
  - !ruby/object:Gem::Version
76
- version: '1.0'
76
+ version: '1.1'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70178931892600
79
+ version_requirements: *70284800274440
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: yajl-ruby
82
- requirement: &70178931892080 !ruby/object:Gem::Requirement
82
+ requirement: &70284800272140 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 0.8.0
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70178931892080
90
+ version_requirements: *70284800272140
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: shoulda
93
- requirement: &70178931907820 !ruby/object:Gem::Requirement
93
+ requirement: &70284800297420 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70178931907820
101
+ version_requirements: *70284800297420
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: mocha
104
- requirement: &70178931905960 !ruby/object:Gem::Requirement
104
+ requirement: &70284800296460 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,21 +109,32 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70178931905960
112
+ version_requirements: *70284800296460
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: activerecord
115
- requirement: &70178931903200 !ruby/object:Gem::Requirement
115
+ requirement: &70284800294820 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
- - - ~>
118
+ - - ! '>='
119
+ - !ruby/object:Gem::Version
120
+ version: '3.0'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: *70284800294820
124
+ - !ruby/object:Gem::Dependency
125
+ name: sqlite3
126
+ requirement: &70284800293320 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ! '>='
119
130
  - !ruby/object:Gem::Version
120
- version: '3'
131
+ version: '0'
121
132
  type: :development
122
133
  prerelease: false
123
- version_requirements: *70178931903200
134
+ version_requirements: *70284800293320
124
135
  - !ruby/object:Gem::Dependency
125
136
  name: mongoid
126
- requirement: &70178931901820 !ruby/object:Gem::Requirement
137
+ requirement: &70284800291560 !ruby/object:Gem::Requirement
127
138
  none: false
128
139
  requirements:
129
140
  - - ~>
@@ -131,10 +142,10 @@ dependencies:
131
142
  version: 2.2.1
132
143
  type: :development
133
144
  prerelease: false
134
- version_requirements: *70178931901820
145
+ version_requirements: *70284800291560
135
146
  - !ruby/object:Gem::Dependency
136
- name: sqlite3
137
- requirement: &70178931925640 !ruby/object:Gem::Requirement
147
+ name: bson_ext
148
+ requirement: &70284800315960 !ruby/object:Gem::Requirement
138
149
  none: false
139
150
  requirements:
140
151
  - - ! '>='
@@ -142,21 +153,32 @@ dependencies:
142
153
  version: '0'
143
154
  type: :development
144
155
  prerelease: false
145
- version_requirements: *70178931925640
156
+ version_requirements: *70284800315960
146
157
  - !ruby/object:Gem::Dependency
147
- name: supermodel
148
- requirement: &70178931923640 !ruby/object:Gem::Requirement
158
+ name: redis-persistence
159
+ requirement: &70284800314940 !ruby/object:Gem::Requirement
149
160
  none: false
150
161
  requirements:
151
- - - ~>
162
+ - - ! '>='
152
163
  - !ruby/object:Gem::Version
153
- version: 0.1.6
164
+ version: '0'
154
165
  type: :development
155
166
  prerelease: false
156
- version_requirements: *70178931923640
167
+ version_requirements: *70284800314940
157
168
  - !ruby/object:Gem::Dependency
158
169
  name: curb
159
- requirement: &70178931922360 !ruby/object:Gem::Requirement
170
+ requirement: &70284800314280 !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ type: :development
177
+ prerelease: false
178
+ version_requirements: *70284800314280
179
+ - !ruby/object:Gem::Dependency
180
+ name: minitest
181
+ requirement: &70284800312440 !ruby/object:Gem::Requirement
160
182
  none: false
161
183
  requirements:
162
184
  - - ! '>='
@@ -164,10 +186,10 @@ dependencies:
164
186
  version: '0'
165
187
  type: :development
166
188
  prerelease: false
167
- version_requirements: *70178931922360
189
+ version_requirements: *70284800312440
168
190
  - !ruby/object:Gem::Dependency
169
191
  name: rdoc
170
- requirement: &70178931921460 !ruby/object:Gem::Requirement
192
+ requirement: &70284800309960 !ruby/object:Gem::Requirement
171
193
  none: false
172
194
  requirements:
173
195
  - - ! '>='
@@ -175,10 +197,10 @@ dependencies:
175
197
  version: '0'
176
198
  type: :development
177
199
  prerelease: false
178
- version_requirements: *70178931921460
200
+ version_requirements: *70284800309960
179
201
  - !ruby/object:Gem::Dependency
180
202
  name: turn
181
- requirement: &70178931920700 !ruby/object:Gem::Requirement
203
+ requirement: &70284800323060 !ruby/object:Gem::Requirement
182
204
  none: false
183
205
  requirements:
184
206
  - - ~>
@@ -186,7 +208,7 @@ dependencies:
186
208
  version: '0.9'
187
209
  type: :development
188
210
  prerelease: false
189
- version_requirements: *70178931920700
211
+ version_requirements: *70284800323060
190
212
  description: ! " Tire is a Ruby client for the ElasticSearch search engine/database.\n\n
191
213
  \ It provides Ruby-like API for fluent communication with the ElasticSearch server\n
192
214
  \ and blends with ActiveModel class for convenient usage in Rails applications.\n\n
@@ -232,6 +254,7 @@ files:
232
254
  - lib/tire/results/item.rb
233
255
  - lib/tire/results/pagination.rb
234
256
  - lib/tire/rubyext/hash.rb
257
+ - lib/tire/rubyext/ruby_1_8.rb
235
258
  - lib/tire/rubyext/symbol.rb
236
259
  - lib/tire/search.rb
237
260
  - lib/tire/search/facet.rb
@@ -240,6 +263,7 @@ files:
240
263
  - lib/tire/search/query.rb
241
264
  - lib/tire/search/sort.rb
242
265
  - lib/tire/tasks.rb
266
+ - lib/tire/utils.rb
243
267
  - lib/tire/version.rb
244
268
  - test/fixtures/articles/1.json
245
269
  - test/fixtures/articles/2.json
@@ -250,10 +274,14 @@ files:
250
274
  - test/integration/active_model_searchable_test.rb
251
275
  - test/integration/active_record_searchable_test.rb
252
276
  - test/integration/boolean_queries_test.rb
277
+ - test/integration/count_test.rb
253
278
  - test/integration/custom_score_queries_test.rb
279
+ - test/integration/dsl_search_test.rb
280
+ - test/integration/explanation_test.rb
254
281
  - test/integration/facets_test.rb
255
282
  - test/integration/filtered_queries_test.rb
256
283
  - test/integration/filters_test.rb
284
+ - test/integration/fuzzy_queries_test.rb
257
285
  - test/integration/highlight_test.rb
258
286
  - test/integration/index_mapping_test.rb
259
287
  - test/integration/index_store_test.rb
@@ -274,6 +302,7 @@ files:
274
302
  - test/models/article.rb
275
303
  - test/models/mongoid_models.rb
276
304
  - test/models/persistent_article.rb
305
+ - test/models/persistent_article_in_namespace.rb
277
306
  - test/models/persistent_article_with_casting.rb
278
307
  - test/models/persistent_article_with_defaults.rb
279
308
  - test/models/persistent_articles_with_custom_index_name.rb
@@ -309,10 +338,18 @@ post_install_message: ! "=======================================================
309
338
  model properties as Ruby objects in Tire::Model::Persistence\n * Added Hashr (http://rubygems.org/gems/hashr)
310
339
  as dependency\n * Changed that search in persistence returns instances of model
311
340
  not Item\n * Fixed errors in the Curb client\n * Re-raise the RestClient::RequestTimeout
312
- and RestClient::ServerBrokeConnection exceptions\n * Added the `:as` option for
313
- model mapping to dynamically set property value in serialization\n * Prefer ELASTICSEARCH_URL
341
+ and RestClient::ServerBrokeConnection exceptions\n * Index#bulk_store and Index#import
342
+ support the `:raise` option to re-raise exceptions\n * Prefer ELASTICSEARCH_URL
314
343
  environment variable as the default URL, if present\n * Added the \"text\" search
315
- query\n\n See the full changelog at <http://github.com/karmi/tire/commits/v0.4.0.pre>.\n\n--------------------------------------------------------------------------------\n"
344
+ query\n * Deprecated the support for passing JSON strings to `Index#store`\n *
345
+ ActiveModel mapping has the `:as` option dynamically set property value for serialization\n
346
+ \ * ActiveModel supports any level of mappings in `mapping`\n * ActiveModel integration
347
+ now can eagerly load records of multiple types/classes\n * ActiveModel integration
348
+ now properly supports namespaced models\n * Added support for passing search params
349
+ (`search_type`, `timeout`, etc.) to search requests\n * Added the \"tire:index:drop\"
350
+ Rake task\n * Added the \"Filter Facets\" support\n * Added the \"Fuzzy\" search
351
+ query type\n * Test suite refactorings and changes\n * Relaxed gem dependencies\n\n
352
+ \ See the full changelog at <http://github.com/karmi/tire/commits/v0.4.0.rc>.\n\n--------------------------------------------------------------------------------\n"
316
353
  rdoc_options:
317
354
  - --charset=UTF-8
318
355
  require_paths:
@@ -345,10 +382,14 @@ test_files:
345
382
  - test/integration/active_model_searchable_test.rb
346
383
  - test/integration/active_record_searchable_test.rb
347
384
  - test/integration/boolean_queries_test.rb
385
+ - test/integration/count_test.rb
348
386
  - test/integration/custom_score_queries_test.rb
387
+ - test/integration/dsl_search_test.rb
388
+ - test/integration/explanation_test.rb
349
389
  - test/integration/facets_test.rb
350
390
  - test/integration/filtered_queries_test.rb
351
391
  - test/integration/filters_test.rb
392
+ - test/integration/fuzzy_queries_test.rb
352
393
  - test/integration/highlight_test.rb
353
394
  - test/integration/index_mapping_test.rb
354
395
  - test/integration/index_store_test.rb
@@ -369,6 +410,7 @@ test_files:
369
410
  - test/models/article.rb
370
411
  - test/models/mongoid_models.rb
371
412
  - test/models/persistent_article.rb
413
+ - test/models/persistent_article_in_namespace.rb
372
414
  - test/models/persistent_article_with_casting.rb
373
415
  - test/models/persistent_article_with_defaults.rb
374
416
  - test/models/persistent_articles_with_custom_index_name.rb