riddle 1.5.1 → 1.5.2

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 (83) hide show
  1. data/.travis.yml +2 -4
  2. data/HISTORY +13 -1
  3. data/README.textile +7 -1
  4. data/lib/riddle/0.9.9/client.rb +8 -8
  5. data/lib/riddle/auto_version.rb +2 -2
  6. data/lib/riddle/client.rb +6 -4
  7. data/lib/riddle/client/filter.rb +16 -11
  8. data/lib/riddle/client/response.rb +19 -19
  9. data/lib/riddle/query.rb +4 -1
  10. data/lib/riddle/version.rb +1 -1
  11. data/spec/fixtures/data/0.9.9/anchor.bin +0 -0
  12. data/spec/fixtures/data/0.9.9/any.bin +0 -0
  13. data/spec/fixtures/data/0.9.9/boolean.bin +0 -0
  14. data/spec/fixtures/data/0.9.9/comment.bin +0 -0
  15. data/spec/fixtures/data/0.9.9/distinct.bin +0 -0
  16. data/spec/fixtures/data/0.9.9/field_weights.bin +0 -0
  17. data/spec/fixtures/data/0.9.9/filter.bin +0 -0
  18. data/spec/fixtures/data/0.9.9/index.bin +0 -0
  19. data/spec/fixtures/data/0.9.9/index_weights.bin +0 -0
  20. data/spec/fixtures/data/0.9.9/overrides.bin +0 -0
  21. data/spec/fixtures/data/0.9.9/phrase.bin +0 -0
  22. data/spec/fixtures/data/0.9.9/rank_mode.bin +0 -0
  23. data/spec/fixtures/data/0.9.9/select.bin +0 -0
  24. data/spec/fixtures/data/0.9.9/simple.bin +0 -0
  25. data/spec/fixtures/data/0.9.9/sort.bin +0 -0
  26. data/spec/fixtures/data/0.9.9/weights.bin +0 -0
  27. data/spec/fixtures/data/1.10/anchor.bin +0 -0
  28. data/spec/fixtures/data/1.10/any.bin +0 -0
  29. data/spec/fixtures/data/1.10/boolean.bin +0 -0
  30. data/spec/fixtures/data/1.10/comment.bin +0 -0
  31. data/spec/fixtures/data/1.10/distinct.bin +0 -0
  32. data/spec/fixtures/data/1.10/field_weights.bin +0 -0
  33. data/spec/fixtures/data/1.10/filter.bin +0 -0
  34. data/spec/fixtures/data/1.10/index.bin +0 -0
  35. data/spec/fixtures/data/1.10/index_weights.bin +0 -0
  36. data/spec/fixtures/data/1.10/overrides.bin +0 -0
  37. data/spec/fixtures/data/1.10/phrase.bin +0 -0
  38. data/spec/fixtures/data/1.10/rank_mode.bin +0 -0
  39. data/spec/fixtures/data/1.10/select.bin +0 -0
  40. data/spec/fixtures/data/1.10/simple.bin +0 -0
  41. data/spec/fixtures/data/1.10/sort.bin +0 -0
  42. data/spec/fixtures/data/1.10/weights.bin +0 -0
  43. data/spec/fixtures/data/2.0.1/anchor.bin +0 -0
  44. data/spec/fixtures/data/2.0.1/any.bin +0 -0
  45. data/spec/fixtures/data/2.0.1/boolean.bin +0 -0
  46. data/spec/fixtures/data/2.0.1/comment.bin +0 -0
  47. data/spec/fixtures/data/2.0.1/distinct.bin +0 -0
  48. data/spec/fixtures/data/2.0.1/field_weights.bin +0 -0
  49. data/spec/fixtures/data/2.0.1/filter.bin +0 -0
  50. data/spec/fixtures/data/2.0.1/index.bin +0 -0
  51. data/spec/fixtures/data/2.0.1/index_weights.bin +0 -0
  52. data/spec/fixtures/data/2.0.1/overrides.bin +0 -0
  53. data/spec/fixtures/data/2.0.1/phrase.bin +0 -0
  54. data/spec/fixtures/data/2.0.1/rank_mode.bin +0 -0
  55. data/spec/fixtures/data/2.0.1/select.bin +0 -0
  56. data/spec/fixtures/data/2.0.1/simple.bin +0 -0
  57. data/spec/fixtures/data/2.0.1/sort.bin +0 -0
  58. data/spec/fixtures/data/2.0.1/weights.bin +0 -0
  59. data/spec/fixtures/data/2.1.0/anchor.bin +0 -0
  60. data/spec/fixtures/data/2.1.0/any.bin +0 -0
  61. data/spec/fixtures/data/2.1.0/boolean.bin +0 -0
  62. data/spec/fixtures/data/2.1.0/comment.bin +0 -0
  63. data/spec/fixtures/data/2.1.0/distinct.bin +0 -0
  64. data/spec/fixtures/data/2.1.0/field_weights.bin +0 -0
  65. data/spec/fixtures/data/2.1.0/filter.bin +0 -0
  66. data/spec/fixtures/data/2.1.0/index.bin +0 -0
  67. data/spec/fixtures/data/2.1.0/index_weights.bin +0 -0
  68. data/spec/fixtures/data/2.1.0/overrides.bin +0 -0
  69. data/spec/fixtures/data/2.1.0/phrase.bin +0 -0
  70. data/spec/fixtures/data/2.1.0/rank_mode.bin +0 -0
  71. data/spec/fixtures/data/2.1.0/select.bin +0 -0
  72. data/spec/fixtures/data/2.1.0/simple.bin +0 -0
  73. data/spec/fixtures/data/2.1.0/sort.bin +0 -0
  74. data/spec/fixtures/data/2.1.0/weights.bin +0 -0
  75. data/spec/fixtures/sphinxapi.0.9.8.php +8 -8
  76. data/spec/fixtures/sphinxapi.0.9.9.php +26 -26
  77. data/spec/fixtures/sphinxapi.1.10.php +27 -27
  78. data/spec/fixtures/sphinxapi.2.0.1.php +27 -27
  79. data/spec/fixtures/sphinxapi.2.1.0.php +2 -2
  80. data/spec/riddle/auto_version_spec.rb +14 -0
  81. data/spec/riddle/query_spec.rb +13 -8
  82. data/spec/unit/client_spec.rb +22 -0
  83. metadata +76 -49
@@ -124,7 +124,7 @@ define ( "SPH_GROUPBY_ATTRPAIR", 5 );
124
124
  function sphPackI64 ( $v )
125
125
  {
126
126
  assert ( is_numeric($v) );
127
-
127
+
128
128
  // x64
129
129
  if ( PHP_INT_SIZE>=8 )
130
130
  {
@@ -136,7 +136,7 @@ function sphPackI64 ( $v )
136
136
  if ( is_int($v) )
137
137
  return pack ( "NN", $v < 0 ? -1 : 0, $v );
138
138
 
139
- // x32, bcmath
139
+ // x32, bcmath
140
140
  if ( function_exists("bcmul") )
141
141
  {
142
142
  if ( bccomp ( $v, 0 ) == -1 )
@@ -173,16 +173,16 @@ function sphPackI64 ( $v )
173
173
  function sphPackU64 ( $v )
174
174
  {
175
175
  assert ( is_numeric($v) );
176
-
176
+
177
177
  // x64
178
178
  if ( PHP_INT_SIZE>=8 )
179
179
  {
180
180
  assert ( $v>=0 );
181
-
181
+
182
182
  // x64, int
183
183
  if ( is_int($v) )
184
184
  return pack ( "NN", $v>>32, $v&0xFFFFFFFF );
185
-
185
+
186
186
  // x64, bcmath
187
187
  if ( function_exists("bcmul") )
188
188
  {
@@ -190,12 +190,12 @@ function sphPackU64 ( $v )
190
190
  $l = bcmod ( $v, 4294967296 );
191
191
  return pack ( "NN", $h, $l );
192
192
  }
193
-
193
+
194
194
  // x64, no-bcmath
195
195
  $p = max ( 0, strlen($v) - 13 );
196
196
  $lo = (int)substr ( $v, $p );
197
197
  $hi = (int)substr ( $v, 0, $p );
198
-
198
+
199
199
  $m = $lo + $hi*1316134912;
200
200
  $l = $m % 4294967296;
201
201
  $h = $hi*2328 + (int)($m/4294967296);
@@ -206,7 +206,7 @@ function sphPackU64 ( $v )
206
206
  // x32, int
207
207
  if ( is_int($v) )
208
208
  return pack ( "NN", 0, $v );
209
-
209
+
210
210
  // x32, bcmath
211
211
  if ( function_exists("bcmul") )
212
212
  {
@@ -219,7 +219,7 @@ function sphPackU64 ( $v )
219
219
  $p = max(0, strlen($v) - 13);
220
220
  $lo = (float)substr($v, $p);
221
221
  $hi = (float)substr($v, 0, $p);
222
-
222
+
223
223
  $m = $lo + $hi*1316134912.0;
224
224
  $q = floor($m / 4294967296.0);
225
225
  $l = $m - ($q * 4294967296.0);
@@ -275,11 +275,11 @@ function sphUnpackU64 ( $v )
275
275
  // x32, bcmath
276
276
  if ( function_exists("bcmul") )
277
277
  return bcadd ( $lo, bcmul ( $hi, "4294967296" ) );
278
-
278
+
279
279
  // x32, no-bcmath
280
280
  $hi = (float)$hi;
281
281
  $lo = (float)$lo;
282
-
282
+
283
283
  $q = floor($hi/10000000.0);
284
284
  $r = $hi - $q*10000000.0;
285
285
  $m = $lo + $r*4967296.0;
@@ -322,7 +322,7 @@ function sphUnpackI64 ( $v )
322
322
  return $lo;
323
323
  return sprintf ( "%.0f", $lo - 4294967296.0 );
324
324
  }
325
-
325
+
326
326
  $neg = "";
327
327
  $c = 0;
328
328
  if ( $hi<0 )
@@ -331,7 +331,7 @@ function sphUnpackI64 ( $v )
331
331
  $lo = ~$lo;
332
332
  $c = 1;
333
333
  $neg = "-";
334
- }
334
+ }
335
335
 
336
336
  $hi = sprintf ( "%u", $hi );
337
337
  $lo = sprintf ( "%u", $lo );
@@ -343,7 +343,7 @@ function sphUnpackI64 ( $v )
343
343
  // x32, no-bcmath
344
344
  $hi = (float)$hi;
345
345
  $lo = (float)$lo;
346
-
346
+
347
347
  $q = floor($hi/10000000.0);
348
348
  $r = $hi - $q*10000000.0;
349
349
  $m = $lo + $r*4967296.0;
@@ -444,7 +444,7 @@ class SphinxClient
444
444
  $this->_filters = array ();
445
445
  $this->_groupby = "";
446
446
  $this->_groupfunc = SPH_GROUPBY_DAY;
447
- $this->_groupsort = "@group desc";
447
+ $this->_groupsort = "@weight DESC";
448
448
  $this->_groupdistinct= "";
449
449
  $this->_maxmatches = 1000;
450
450
  $this->_cutoff = 0;
@@ -506,7 +506,7 @@ class SphinxClient
506
506
  $this->_path = $host;
507
507
  return;
508
508
  }
509
-
509
+
510
510
  assert ( is_int($port) );
511
511
  $this->_host = $host;
512
512
  $this->_port = $port;
@@ -586,14 +586,14 @@ class SphinxClient
586
586
  $fp = @fsockopen ( $host, $port, $errno, $errstr );
587
587
  else
588
588
  $fp = @fsockopen ( $host, $port, $errno, $errstr, $this->_timeout );
589
-
589
+
590
590
  if ( !$fp )
591
591
  {
592
592
  if ( $this->_path )
593
593
  $location = $this->_path;
594
594
  else
595
595
  $location = "{$this->_host}:{$this->_port}";
596
-
596
+
597
597
  $errstr = trim ( $errstr );
598
598
  $this->_error = "connection to $location failed (errno=$errno, msg=$errstr)";
599
599
  $this->_connerror = true;
@@ -932,7 +932,7 @@ class SphinxClient
932
932
  {
933
933
  $this->_groupby = "";
934
934
  $this->_groupfunc = SPH_GROUPBY_DAY;
935
- $this->_groupsort = "@group desc";
935
+ $this->_groupsort = "@weight DESC";
936
936
  $this->_groupdistinct= "";
937
937
  }
938
938
 
@@ -1227,7 +1227,7 @@ class SphinxClient
1227
1227
  if ( $type==SPH_ATTR_FLOAT )
1228
1228
  {
1229
1229
  list(,$uval) = unpack ( "N*", substr ( $response, $p, 4 ) ); $p += 4;
1230
- list(,$fval) = unpack ( "f*", pack ( "L", $uval ) );
1230
+ list(,$fval) = unpack ( "f*", pack ( "L", $uval ) );
1231
1231
  $attrvals[$attr] = $fval;
1232
1232
  continue;
1233
1233
  }
@@ -1246,7 +1246,7 @@ class SphinxClient
1246
1246
  } else if ( $type==SPH_ATTR_STRING )
1247
1247
  {
1248
1248
  $attrvals[$attr] = substr ( $response, $p, $val );
1249
- $p += $val;
1249
+ $p += $val;
1250
1250
  } else
1251
1251
  {
1252
1252
  $attrvals[$attr] = sphFixUint($val);
@@ -1418,7 +1418,7 @@ class SphinxClient
1418
1418
 
1419
1419
  // Commented out for testing Riddle
1420
1420
  // $this->_MBPush ();
1421
- //
1421
+ //
1422
1422
  // if (!( $fp = $this->_Connect() ))
1423
1423
  // {
1424
1424
  // $this->_MBPop();
@@ -1433,7 +1433,7 @@ class SphinxClient
1433
1433
  $req = pack ( "N", strlen($query) ) . $query; // req query
1434
1434
  $req .= pack ( "N", strlen($index) ) . $index; // req index
1435
1435
  $req .= pack ( "N", (int)$hits );
1436
-
1436
+
1437
1437
  // Line for testing Riddle:
1438
1438
  return $req;
1439
1439
 
@@ -1556,7 +1556,7 @@ class SphinxClient
1556
1556
  $req .= pack ( "N", $vv );
1557
1557
  }
1558
1558
  }
1559
-
1559
+
1560
1560
  // Line for testing Riddle:
1561
1561
  return $req;
1562
1562
 
@@ -1620,7 +1620,7 @@ class SphinxClient
1620
1620
 
1621
1621
  fclose ( $this->_socket );
1622
1622
  $this->_socket = false;
1623
-
1623
+
1624
1624
  return true;
1625
1625
  }
1626
1626
 
@@ -1691,7 +1691,7 @@ class SphinxClient
1691
1691
  $this->_MBPop ();
1692
1692
  return $tag;
1693
1693
  }
1694
-
1694
+
1695
1695
  // Added for Riddle - code is taken from AddQuery
1696
1696
  function FilterOutput()
1697
1697
  {
@@ -1721,7 +1721,7 @@ class SphinxClient
1721
1721
  }
1722
1722
  $req .= pack ( "N", $filter["exclude"] );
1723
1723
  }
1724
-
1724
+
1725
1725
  return $req;
1726
1726
  }
1727
1727
  }
@@ -447,7 +447,7 @@ class SphinxClient
447
447
  $this->_filters = array ();
448
448
  $this->_groupby = "";
449
449
  $this->_groupfunc = SPH_GROUPBY_DAY;
450
- $this->_groupsort = "@group desc";
450
+ $this->_groupsort = "@weight DESC";
451
451
  $this->_groupdistinct= "";
452
452
  $this->_maxmatches = 1000;
453
453
  $this->_cutoff = 0;
@@ -938,7 +938,7 @@ class SphinxClient
938
938
  {
939
939
  $this->_groupby = "";
940
940
  $this->_groupfunc = SPH_GROUPBY_DAY;
941
- $this->_groupsort = "@group desc";
941
+ $this->_groupsort = "@weight DESC";
942
942
  $this->_groupdistinct= "";
943
943
  }
944
944
 
@@ -50,6 +50,20 @@ describe Riddle::AutoVersion do
50
50
  Riddle::AutoVersion.configure
51
51
  end
52
52
 
53
+ it "should require 2.0.1 if 2.0.2-dev is being used" do
54
+ Riddle::AutoVersion.should_receive(:require).with('riddle/2.0.1')
55
+
56
+ @controller.stub!(:sphinx_version => '2.0.2-dev')
57
+ Riddle::AutoVersion.configure
58
+ end
59
+
60
+ it "should require 2.1.0 if 2.0.3 is being used" do
61
+ Riddle::AutoVersion.should_receive(:require).with('riddle/2.1.0')
62
+
63
+ @controller.stub!(:sphinx_version => '2.0.3-release')
64
+ Riddle::AutoVersion.configure
65
+ end
66
+
53
67
  it "should require 2.1.0 if that is the known version" do
54
68
  Riddle::AutoVersion.should_receive(:require).with('riddle/2.1.0')
55
69
 
@@ -3,11 +3,11 @@ require 'spec_helper'
3
3
  describe Riddle::Query, :live => true do
4
4
  describe '.connection' do
5
5
  let(:connection) { Riddle::Query.connection 'localhost', 9306 }
6
-
6
+
7
7
  it "returns a MySQL Client" do
8
8
  connection.should be_a(Mysql2::Client)
9
9
  end
10
-
10
+
11
11
  it "should handle search requests" do
12
12
  connection.query(Riddle::Query.tables).to_a[0].should == {
13
13
  'Index' => 'people', 'Type' => 'local'
@@ -21,35 +21,40 @@ describe Riddle::Query do
21
21
  it 'handles a single value' do
22
22
  Riddle::Query.set('foo', 'bar').should == 'SET GLOBAL foo = bar'
23
23
  end
24
-
24
+
25
25
  it 'handles multiple values' do
26
26
  Riddle::Query.set('foo', [1, 2, 3]).should == 'SET GLOBAL foo = (1, 2, 3)'
27
27
  end
28
-
28
+
29
29
  it 'handles non-global settings' do
30
30
  Riddle::Query.set('foo', 'bar', false).should == 'SET foo = bar'
31
31
  end
32
32
  end
33
-
33
+
34
34
  describe '.snippets' do
35
35
  it 'handles a basic request' do
36
36
  Riddle::Query.snippets('foo bar baz', 'foo_core', 'foo').
37
37
  should == "CALL SNIPPETS('foo bar baz', 'foo_core', 'foo')"
38
38
  end
39
-
39
+
40
40
  it 'handles a request with options' do
41
41
  Riddle::Query.snippets('foo bar baz', 'foo_core', 'foo', :around => 5).
42
42
  should == "CALL SNIPPETS('foo bar baz', 'foo_core', 'foo', 5 AS around)"
43
43
  end
44
+
45
+ it 'handles string options' do
46
+ Riddle::Query.snippets('foo bar baz', 'foo_core', 'foo',
47
+ :before_match => '<strong>').should == "CALL SNIPPETS('foo bar baz', 'foo_core', 'foo', '<strong>' AS before_match)"
48
+ end
44
49
  end
45
-
50
+
46
51
  describe '.create_function' do
47
52
  it 'handles a basic create request' do
48
53
  Riddle::Query.create_function('foo', :bigint, 'foo.sh').
49
54
  should == "CREATE FUNCTION foo RETURNS BIGINT SONAME 'foo.sh'"
50
55
  end
51
56
  end
52
-
57
+
53
58
  describe '.update' do
54
59
  it 'handles a basic update request' do
55
60
  Riddle::Query.update('foo_core', 5, :deleted => 1).
@@ -265,4 +265,26 @@ describe Riddle::Client do
265
265
  }.should raise_error(Riddle::ConnectionError)
266
266
  end unless RUBY_PLATFORM == 'java' # JRuby doesn't like Timeout
267
267
  end
268
+
269
+ it "should fail if the server has the wrong version" do
270
+ client = Riddle::Client.new
271
+ client.port = 9314
272
+ client.timeout = 1
273
+
274
+ server = TCPServer.new "localhost", 9314
275
+
276
+ thread = Thread.new do
277
+ client = server.accept
278
+ client.send [0].pack("N"), 0
279
+ client.close
280
+ end
281
+
282
+ lambda {
283
+ client.send(:connect) { |socket| }
284
+ }.should raise_error(Riddle::VersionError)
285
+
286
+ thread.exit
287
+ server.close
288
+ end
289
+
268
290
  end
metadata CHANGED
@@ -1,56 +1,80 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: riddle
3
- version: !ruby/object:Gem::Version
4
- version: 1.5.1
3
+ version: !ruby/object:Gem::Version
4
+ hash: 7
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 5
9
+ - 2
10
+ version: 1.5.2
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Pat Allan
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2012-01-02 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rake
16
- requirement: &70316764766880 !ruby/object:Gem::Requirement
17
+
18
+ date: 2012-05-14 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ type: :development
22
+ requirement: &id001 !ruby/object:Gem::Requirement
17
23
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ hash: 63
28
+ segments:
29
+ - 0
30
+ - 9
31
+ - 2
21
32
  version: 0.9.2
22
- type: :development
33
+ version_requirements: *id001
23
34
  prerelease: false
24
- version_requirements: *70316764766880
25
- - !ruby/object:Gem::Dependency
26
- name: rspec
27
- requirement: &70316764765360 !ruby/object:Gem::Requirement
35
+ name: rake
36
+ - !ruby/object:Gem::Dependency
37
+ type: :development
38
+ requirement: &id002 !ruby/object:Gem::Requirement
28
39
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 27
44
+ segments:
45
+ - 2
46
+ - 5
47
+ - 0
32
48
  version: 2.5.0
33
- type: :development
49
+ version_requirements: *id002
34
50
  prerelease: false
35
- version_requirements: *70316764765360
36
- - !ruby/object:Gem::Dependency
37
- name: yard
38
- requirement: &70316764763300 !ruby/object:Gem::Requirement
51
+ name: rspec
52
+ - !ruby/object:Gem::Dependency
53
+ type: :development
54
+ requirement: &id003 !ruby/object:Gem::Requirement
39
55
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 7
60
+ segments:
61
+ - 0
62
+ - 7
63
+ - 2
43
64
  version: 0.7.2
44
- type: :development
65
+ version_requirements: *id003
45
66
  prerelease: false
46
- version_requirements: *70316764763300
67
+ name: yard
47
68
  description: A Ruby API and configuration helper for the Sphinx search service.
48
- email:
69
+ email:
49
70
  - pat@freelancing-gods.com
50
71
  executables: []
72
+
51
73
  extensions: []
74
+
52
75
  extra_rdoc_files: []
53
- files:
76
+
77
+ files:
54
78
  - .gitignore
55
79
  - .travis.yml
56
80
  - Gemfile
@@ -252,35 +276,38 @@ files:
252
276
  - spec/unit/riddle_spec.rb
253
277
  homepage: http://freelancing-god.github.com/riddle/
254
278
  licenses: []
279
+
255
280
  post_install_message:
256
281
  rdoc_options: []
257
- require_paths:
282
+
283
+ require_paths:
258
284
  - lib
259
- required_ruby_version: !ruby/object:Gem::Requirement
285
+ required_ruby_version: !ruby/object:Gem::Requirement
260
286
  none: false
261
- requirements:
262
- - - ! '>='
263
- - !ruby/object:Gem::Version
264
- version: '0'
265
- segments:
287
+ requirements:
288
+ - - ">="
289
+ - !ruby/object:Gem::Version
290
+ hash: 3
291
+ segments:
266
292
  - 0
267
- hash: -2420399523402402729
268
- required_rubygems_version: !ruby/object:Gem::Requirement
293
+ version: "0"
294
+ required_rubygems_version: !ruby/object:Gem::Requirement
269
295
  none: false
270
- requirements:
271
- - - ! '>='
272
- - !ruby/object:Gem::Version
273
- version: '0'
274
- segments:
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ hash: 3
300
+ segments:
275
301
  - 0
276
- hash: -2420399523402402729
302
+ version: "0"
277
303
  requirements: []
304
+
278
305
  rubyforge_project: riddle
279
- rubygems_version: 1.8.10
306
+ rubygems_version: 1.8.16
280
307
  signing_key:
281
308
  specification_version: 3
282
309
  summary: An API for Sphinx, written in and for Ruby.
283
- test_files:
310
+ test_files:
284
311
  - spec/fixtures/.gitignore
285
312
  - spec/fixtures/data/0.9.9/anchor.bin
286
313
  - spec/fixtures/data/0.9.9/any.bin