riddle 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. data/HISTORY +4 -0
  2. data/README.textile +28 -38
  3. data/lib/riddle/2.1.0.rb +16 -0
  4. data/lib/riddle/auto_version.rb +2 -0
  5. data/lib/riddle/client.rb +53 -49
  6. data/lib/riddle/version.rb +1 -1
  7. data/spec/fixtures/data/2.1.0/anchor.bin +0 -0
  8. data/spec/fixtures/data/2.1.0/any.bin +0 -0
  9. data/spec/fixtures/data/2.1.0/boolean.bin +0 -0
  10. data/spec/fixtures/data/2.1.0/comment.bin +0 -0
  11. data/spec/fixtures/data/2.1.0/distinct.bin +0 -0
  12. data/spec/fixtures/data/2.1.0/field_weights.bin +0 -0
  13. data/spec/fixtures/data/2.1.0/filter.bin +0 -0
  14. data/spec/fixtures/data/2.1.0/filter_array.bin +0 -0
  15. data/spec/fixtures/data/2.1.0/filter_array_exclude.bin +0 -0
  16. data/spec/fixtures/data/2.1.0/filter_boolean.bin +0 -0
  17. data/spec/fixtures/data/2.1.0/filter_floats.bin +0 -0
  18. data/spec/fixtures/data/2.1.0/filter_floats_exclude.bin +0 -0
  19. data/spec/fixtures/data/2.1.0/filter_range.bin +0 -0
  20. data/spec/fixtures/data/2.1.0/filter_range_exclude.bin +0 -0
  21. data/spec/fixtures/data/2.1.0/group.bin +0 -0
  22. data/spec/fixtures/data/2.1.0/index.bin +0 -0
  23. data/spec/fixtures/data/2.1.0/index_weights.bin +0 -0
  24. data/spec/fixtures/data/2.1.0/keywords_with_hits.bin +0 -0
  25. data/spec/fixtures/data/2.1.0/keywords_without_hits.bin +0 -0
  26. data/spec/fixtures/data/2.1.0/overrides.bin +0 -0
  27. data/spec/fixtures/data/2.1.0/phrase.bin +0 -0
  28. data/spec/fixtures/data/2.1.0/rank_mode.bin +0 -0
  29. data/spec/fixtures/data/2.1.0/select.bin +0 -0
  30. data/spec/fixtures/data/2.1.0/simple.bin +0 -0
  31. data/spec/fixtures/data/2.1.0/sort.bin +0 -0
  32. data/spec/fixtures/data/2.1.0/update_simple.bin +0 -0
  33. data/spec/fixtures/data/2.1.0/weights.bin +0 -0
  34. data/spec/fixtures/data_generator.2.1.0.php +5 -0
  35. data/spec/fixtures/sphinxapi.2.1.0.php +1752 -0
  36. data/spec/functional/excerpt_spec.rb +12 -12
  37. data/spec/riddle/auto_version_spec.rb +7 -0
  38. data/spec/support/binary_fixtures.rb +3 -3
  39. metadata +70 -10
@@ -4,7 +4,7 @@ describe "Sphinx Excepts", :live => true do
4
4
  before :each do
5
5
  @client = Riddle::Client.new("localhost", 9313)
6
6
  end
7
-
7
+
8
8
  it "should highlight a single word multiple times in a document" do
9
9
  @client.excerpts(
10
10
  :index => "people",
@@ -14,7 +14,7 @@ describe "Sphinx Excepts", :live => true do
14
14
  '<span class="match">Mary</span>, <span class="match">Mary</span>, quite contrary.'
15
15
  ]
16
16
  end
17
-
17
+
18
18
  it "should use specified word markers" do
19
19
  @client.excerpts(
20
20
  :index => "people",
@@ -26,7 +26,7 @@ describe "Sphinx Excepts", :live => true do
26
26
  "<em>Mary</em>, <em>Mary</em>, quite contrary."
27
27
  ]
28
28
  end
29
-
29
+
30
30
  it "should separate matches that are far apart by an ellipsis by default" do
31
31
  excerpts = @client.excerpts(
32
32
  :index => "people",
@@ -34,7 +34,7 @@ describe "Sphinx Excepts", :live => true do
34
34
  :docs => [
35
35
  <<-SENTENCE
36
36
  This is a really long sentence written by Pat. It has to be over 256
37
- characters long, between keywords. But what is the keyword? Well, I
37
+ characters long, between keywords. But what is the keyword? Well, I
38
38
  can't tell you just yet... wait patiently until we've hit the 256 mark.
39
39
  It'll take a bit longer than you think. We're probably just hitting the
40
40
  200 mark at this point. But I think we've now arrived - so I can tell
@@ -46,8 +46,8 @@ not. It's just my name: Pat.
46
46
  :before_match => "<em>",
47
47
  :after_match => "</em>"
48
48
  )
49
-
50
-
49
+
50
+
51
51
  case Riddle.loaded_version
52
52
  when '0.9.9'
53
53
  excerpts.should == [
@@ -60,7 +60,7 @@ not. It's just my name: <em>Pat</em>.
60
60
  ]
61
61
  when '1.10'
62
62
  excerpts.should == [" &#8230; really long sentence written by <em>Pat</em>. It has to be over &#8230; . This keyword, however, is\nnot. It's just my name: <em>Pat</em> &#8230; "]
63
- when '2.0.1'
63
+ when '2.0.1', '2.1.0'
64
64
  excerpts.should == [" &#8230; really long sentence written by <em>Pat</em>. It has to be over &#8230; . It's just my name: <em>Pat</em>.\n"]
65
65
  else
66
66
  excerpts.should == [
@@ -73,7 +73,7 @@ not. It's just my name: <em>Pat</em>.
73
73
  ]
74
74
  end
75
75
  end
76
-
76
+
77
77
  it "should use the provided separator" do
78
78
  excerpts = @client.excerpts(
79
79
  :index => "people",
@@ -81,7 +81,7 @@ not. It's just my name: <em>Pat</em>.
81
81
  :docs => [
82
82
  <<-SENTENCE
83
83
  This is a really long sentence written by Pat. It has to be over 256
84
- characters long, between keywords. But what is the keyword? Well, I
84
+ characters long, between keywords. But what is the keyword? Well, I
85
85
  can't tell you just yet... wait patiently until we've hit the 256 mark.
86
86
  It'll take a bit longer than you think. We're probably just hitting the
87
87
  200 mark at this point. But I think we've now arrived - so I can tell
@@ -94,7 +94,7 @@ not. It's just my name: Pat.
94
94
  :after_match => "</em>",
95
95
  :chunk_separator => " --- "
96
96
  )
97
-
97
+
98
98
  case Riddle.loaded_version
99
99
  when '0.9.9'
100
100
  excerpts.should == [
@@ -107,7 +107,7 @@ not. It's just my name: <em>Pat</em>.
107
107
  ]
108
108
  when '1.10'
109
109
  excerpts.should == [" --- really long sentence written by <em>Pat</em>. It has to be over --- . This keyword, however, is\nnot. It's just my name: <em>Pat</em> --- "]
110
- when '2.0.1'
110
+ when '2.0.1', '2.1.0'
111
111
  excerpts.should == [" --- really long sentence written by <em>Pat</em>. It has to be over --- . It's just my name: <em>Pat</em>.\n"]
112
112
  else
113
113
  excerpts.should == [
@@ -120,7 +120,7 @@ not. It's just my name: <em>Pat</em>.
120
120
  ]
121
121
  end
122
122
  end
123
-
123
+
124
124
  it "should return multiple results for multiple documents" do
125
125
  @client.excerpts(
126
126
  :index => "people",
@@ -49,5 +49,12 @@ describe Riddle::AutoVersion do
49
49
  @controller.stub!(:sphinx_version => '2.0.1-beta')
50
50
  Riddle::AutoVersion.configure
51
51
  end
52
+
53
+ it "should require 2.1.0 if that is the known version" do
54
+ Riddle::AutoVersion.should_receive(:require).with('riddle/2.1.0')
55
+
56
+ @controller.stub!(:sphinx_version => '2.1.0-dev')
57
+ Riddle::AutoVersion.configure
58
+ end
52
59
  end
53
60
  end
@@ -1,14 +1,14 @@
1
1
  module BinaryFixtures
2
2
  def self.build_fixtures(version = nil)
3
3
  return if ENV['TRAVIS']
4
-
5
- version ||= %w(0.9.9 1.10 2.0.1)
4
+
5
+ version ||= %w(0.9.9 1.10 2.0.1 2.1.0)
6
6
  Array(version).each do |version|
7
7
  FileUtils.mkdir_p "spec/fixtures/data/#{version}"
8
8
  `php -f spec/fixtures/data_generator.#{version}.php`
9
9
  end
10
10
  end
11
-
11
+
12
12
  def query_contents(key)
13
13
  path = "spec/fixtures/data/#{Riddle.loaded_version}/#{key}.bin"
14
14
  contents = open(path) { |f| f.read }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riddle
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  prerelease:
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: 2011-11-04 00:00:00.000000000 Z
12
+ date: 2012-01-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70319939317800 !ruby/object:Gem::Requirement
16
+ requirement: &70316764766880 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.9.2
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70319939317800
24
+ version_requirements: *70316764766880
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70319939316860 !ruby/object:Gem::Requirement
27
+ requirement: &70316764765360 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.5.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70319939316860
35
+ version_requirements: *70316764765360
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
- requirement: &70319939316300 !ruby/object:Gem::Requirement
38
+ requirement: &70316764763300 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 0.7.2
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70319939316300
46
+ version_requirements: *70316764763300
47
47
  description: A Ruby API and configuration helper for the Sphinx search service.
48
48
  email:
49
49
  - pat@freelancing-gods.com
@@ -68,6 +68,7 @@ files:
68
68
  - lib/riddle/1.10/client.rb
69
69
  - lib/riddle/2.0.1.rb
70
70
  - lib/riddle/2.0.1/client.rb
71
+ - lib/riddle/2.1.0.rb
71
72
  - lib/riddle/auto_version.rb
72
73
  - lib/riddle/client.rb
73
74
  - lib/riddle/client/filter.rb
@@ -173,16 +174,45 @@ files:
173
174
  - spec/fixtures/data/2.0.1/sort.bin
174
175
  - spec/fixtures/data/2.0.1/update_simple.bin
175
176
  - spec/fixtures/data/2.0.1/weights.bin
177
+ - spec/fixtures/data/2.1.0/anchor.bin
178
+ - spec/fixtures/data/2.1.0/any.bin
179
+ - spec/fixtures/data/2.1.0/boolean.bin
180
+ - spec/fixtures/data/2.1.0/comment.bin
181
+ - spec/fixtures/data/2.1.0/distinct.bin
182
+ - spec/fixtures/data/2.1.0/field_weights.bin
183
+ - spec/fixtures/data/2.1.0/filter.bin
184
+ - spec/fixtures/data/2.1.0/filter_array.bin
185
+ - spec/fixtures/data/2.1.0/filter_array_exclude.bin
186
+ - spec/fixtures/data/2.1.0/filter_boolean.bin
187
+ - spec/fixtures/data/2.1.0/filter_floats.bin
188
+ - spec/fixtures/data/2.1.0/filter_floats_exclude.bin
189
+ - spec/fixtures/data/2.1.0/filter_range.bin
190
+ - spec/fixtures/data/2.1.0/filter_range_exclude.bin
191
+ - spec/fixtures/data/2.1.0/group.bin
192
+ - spec/fixtures/data/2.1.0/index.bin
193
+ - spec/fixtures/data/2.1.0/index_weights.bin
194
+ - spec/fixtures/data/2.1.0/keywords_with_hits.bin
195
+ - spec/fixtures/data/2.1.0/keywords_without_hits.bin
196
+ - spec/fixtures/data/2.1.0/overrides.bin
197
+ - spec/fixtures/data/2.1.0/phrase.bin
198
+ - spec/fixtures/data/2.1.0/rank_mode.bin
199
+ - spec/fixtures/data/2.1.0/select.bin
200
+ - spec/fixtures/data/2.1.0/simple.bin
201
+ - spec/fixtures/data/2.1.0/sort.bin
202
+ - spec/fixtures/data/2.1.0/update_simple.bin
203
+ - spec/fixtures/data/2.1.0/weights.bin
176
204
  - spec/fixtures/data_generator.0.9.8.php
177
205
  - spec/fixtures/data_generator.0.9.9.php
178
206
  - spec/fixtures/data_generator.1.10.php
179
207
  - spec/fixtures/data_generator.2.0.1.php
208
+ - spec/fixtures/data_generator.2.1.0.php
180
209
  - spec/fixtures/data_generator.php
181
210
  - spec/fixtures/sphinx/configuration.erb
182
211
  - spec/fixtures/sphinxapi.0.9.8.php
183
212
  - spec/fixtures/sphinxapi.0.9.9.php
184
213
  - spec/fixtures/sphinxapi.1.10.php
185
214
  - spec/fixtures/sphinxapi.2.0.1.php
215
+ - spec/fixtures/sphinxapi.2.1.0.php
186
216
  - spec/fixtures/sql/conf.example.yml
187
217
  - spec/fixtures/sql/data.sql
188
218
  - spec/fixtures/sql/data.tsv
@@ -234,7 +264,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
234
264
  version: '0'
235
265
  segments:
236
266
  - 0
237
- hash: -3403053604125557779
267
+ hash: -2420399523402402729
238
268
  required_rubygems_version: !ruby/object:Gem::Requirement
239
269
  none: false
240
270
  requirements:
@@ -243,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
243
273
  version: '0'
244
274
  segments:
245
275
  - 0
246
- hash: -3403053604125557779
276
+ hash: -2420399523402402729
247
277
  requirements: []
248
278
  rubyforge_project: riddle
249
279
  rubygems_version: 1.8.10
@@ -333,16 +363,45 @@ test_files:
333
363
  - spec/fixtures/data/2.0.1/sort.bin
334
364
  - spec/fixtures/data/2.0.1/update_simple.bin
335
365
  - spec/fixtures/data/2.0.1/weights.bin
366
+ - spec/fixtures/data/2.1.0/anchor.bin
367
+ - spec/fixtures/data/2.1.0/any.bin
368
+ - spec/fixtures/data/2.1.0/boolean.bin
369
+ - spec/fixtures/data/2.1.0/comment.bin
370
+ - spec/fixtures/data/2.1.0/distinct.bin
371
+ - spec/fixtures/data/2.1.0/field_weights.bin
372
+ - spec/fixtures/data/2.1.0/filter.bin
373
+ - spec/fixtures/data/2.1.0/filter_array.bin
374
+ - spec/fixtures/data/2.1.0/filter_array_exclude.bin
375
+ - spec/fixtures/data/2.1.0/filter_boolean.bin
376
+ - spec/fixtures/data/2.1.0/filter_floats.bin
377
+ - spec/fixtures/data/2.1.0/filter_floats_exclude.bin
378
+ - spec/fixtures/data/2.1.0/filter_range.bin
379
+ - spec/fixtures/data/2.1.0/filter_range_exclude.bin
380
+ - spec/fixtures/data/2.1.0/group.bin
381
+ - spec/fixtures/data/2.1.0/index.bin
382
+ - spec/fixtures/data/2.1.0/index_weights.bin
383
+ - spec/fixtures/data/2.1.0/keywords_with_hits.bin
384
+ - spec/fixtures/data/2.1.0/keywords_without_hits.bin
385
+ - spec/fixtures/data/2.1.0/overrides.bin
386
+ - spec/fixtures/data/2.1.0/phrase.bin
387
+ - spec/fixtures/data/2.1.0/rank_mode.bin
388
+ - spec/fixtures/data/2.1.0/select.bin
389
+ - spec/fixtures/data/2.1.0/simple.bin
390
+ - spec/fixtures/data/2.1.0/sort.bin
391
+ - spec/fixtures/data/2.1.0/update_simple.bin
392
+ - spec/fixtures/data/2.1.0/weights.bin
336
393
  - spec/fixtures/data_generator.0.9.8.php
337
394
  - spec/fixtures/data_generator.0.9.9.php
338
395
  - spec/fixtures/data_generator.1.10.php
339
396
  - spec/fixtures/data_generator.2.0.1.php
397
+ - spec/fixtures/data_generator.2.1.0.php
340
398
  - spec/fixtures/data_generator.php
341
399
  - spec/fixtures/sphinx/configuration.erb
342
400
  - spec/fixtures/sphinxapi.0.9.8.php
343
401
  - spec/fixtures/sphinxapi.0.9.9.php
344
402
  - spec/fixtures/sphinxapi.1.10.php
345
403
  - spec/fixtures/sphinxapi.2.0.1.php
404
+ - spec/fixtures/sphinxapi.2.1.0.php
346
405
  - spec/fixtures/sql/conf.example.yml
347
406
  - spec/fixtures/sql/data.sql
348
407
  - spec/fixtures/sql/data.tsv
@@ -380,3 +439,4 @@ test_files:
380
439
  - spec/unit/message_spec.rb
381
440
  - spec/unit/response_spec.rb
382
441
  - spec/unit/riddle_spec.rb
442
+ has_rdoc: