pose 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Pose [![Build Status](https://secure.travis-ci.org/kevgo/pose.png)](http://travis-ci.org/#!/kevgo/pose)
1
+ # Pose <a href="http://travis-ci.org/#!/kevgo/pose" target="_blank"><img src="https://secure.travis-ci.org/kevgo/pose.png" alt="Build status"></a>
2
2
 
3
3
  Pose ("Polymorphic Search") allows fulltext search for ActiveRecord objects.
4
4
 
@@ -118,8 +118,8 @@ Happy searching! :)
118
118
  ```ruby
119
119
  result = Pose.search 'foo',
120
120
  MyClass,
121
- :limit => 3, # Limit the result count to 3.
122
- :result_type => :ids # Don't load the resulting objects, return just their ids instead.
121
+ limit: 3, # Limit the result count to 3.
122
+ result_type: :ids # Don't load the resulting objects, return just their ids.
123
123
  ```
124
124
 
125
125
 
@@ -153,6 +153,15 @@ Or, clone the repository, make your changes, and submit a pull request.
153
153
 
154
154
  ## Run the unit tests for the Pose Gem
155
155
 
156
+ Pose uses Postgresql for tests, since it is the most strict database.
157
+ To run tests, first, create a test database.
158
+
159
+ ```bash
160
+ createdb pose_test
161
+ ```
162
+
163
+ Then run the tests.
164
+
156
165
  ```bash
157
166
  $ rake spec
158
167
  ```
@@ -2,16 +2,16 @@ class AddPoseTables < ActiveRecord::Migration
2
2
 
3
3
  def self.up
4
4
  create_table "pose_assignments" do |t|
5
- t.integer "pose_word_id", :null => false
6
- t.integer "posable_id", :null => false
7
- t.string "posable_type", :limit => 40, :null => false
5
+ t.integer "pose_word_id", null: false
6
+ t.integer "posable_id", null: false
7
+ t.string "posable_type", limit: 40, null: false
8
8
  end
9
9
 
10
10
  add_index "pose_assignments", :pose_word_id
11
11
  add_index "pose_assignments", :posable_id
12
12
 
13
13
  create_table "pose_words" do |t|
14
- t.string "text", :limit => 80, :null => false
14
+ t.string "text", limit: 80, null: false
15
15
  end
16
16
 
17
17
  add_index "pose_words", :text
@@ -4,8 +4,8 @@ module Pose
4
4
  extend ActiveSupport::Concern
5
5
 
6
6
  included do
7
- has_many :pose_assignments, :as => :posable, :dependent => :delete_all
8
- has_many :pose_words, :through => :pose_assignments
7
+ has_many :pose_assignments, as: :posable, dependent: :delete_all
8
+ has_many :pose_words, through: :pose_assignments
9
9
 
10
10
  after_save :update_pose_index
11
11
  before_destroy :delete_pose_index
@@ -1,7 +1,7 @@
1
1
  # Assigns searchable objects to words in the search index.
2
2
  class PoseAssignment < ActiveRecord::Base
3
3
  belongs_to :pose_word
4
- belongs_to :posable, :polymorphic => true
4
+ belongs_to :posable, polymorphic: true
5
5
 
6
6
  # Removes all PoseAssignments for the given class.
7
7
  def self.delete_class_index clazz
@@ -10,7 +10,7 @@ class PoseAssignment < ActiveRecord::Base
10
10
 
11
11
  # Removes all PoseAssignments that aren't used anymore.
12
12
  def self.cleanup_orphaned_pose_assignments progress_bar = nil
13
- PoseAssignment.find_each(:include => [:posable, :pose_word], :batch_size => 5000) do |assignment|
13
+ PoseAssignment.find_each(include: [:posable, :pose_word], batch_size: 5000) do |assignment|
14
14
  progress_bar.inc if progress_bar
15
15
 
16
16
  # Delete the assignment if the posable object no longer exists.
@@ -3,7 +3,7 @@ class PoseWord < ActiveRecord::Base
3
3
  has_many :pose_assignments
4
4
 
5
5
  def self.remove_unused_words progress_bar = nil
6
- PoseWord.find_each(:include => [:pose_assignments], :batch_size => 5000) do |pose_word|
6
+ PoseWord.find_each(include: [:pose_assignments], batch_size: 5000) do |pose_word|
7
7
  pose_word.delete if pose_word.pose_assignments.size == 0
8
8
  progress_bar.inc if progress_bar
9
9
  end
@@ -4,11 +4,12 @@ module Pose
4
4
 
5
5
  # By default, doesn't run in tests.
6
6
  # Set this to true to test the search functionality.
7
- CONFIGURATION = { :search_in_tests => false }
7
+ CONFIGURATION = { search_in_tests: false }
8
8
 
9
9
  class <<self
10
10
 
11
- # Asks if model should perform search.
11
+ # Returns whether Pose is configured to perform search.
12
+ # This setting exists to disable search in tests.
12
13
  #
13
14
  # @return [false, true]
14
15
  def perform_search?
@@ -102,7 +103,8 @@ module Pose
102
103
 
103
104
  # Get the ids of the results.
104
105
  result_classes_and_ids = {}
105
- query.split(' ').each do |query_word|
106
+ query_words = query.split(' ').map{|query_word| Pose.root_word query_word}.flatten
107
+ query_words.each do |query_word|
106
108
  current_word_classes_and_ids = {}
107
109
  classes.each { |clazz| current_word_classes_and_ids[clazz.name] = [] }
108
110
  query = PoseAssignment.joins(:pose_word) \
@@ -110,7 +112,7 @@ module Pose
110
112
  .where('pose_words.text LIKE ?', "#{query_word}%") \
111
113
  .where('posable_type IN (?)', classes_names)
112
114
  PoseAssignment.connection.select_all(query.to_sql).each do |pose_assignment|
113
- current_word_classes_and_ids[pose_assignment['posable_type']] << pose_assignment['posable_id']
115
+ current_word_classes_and_ids[pose_assignment['posable_type']] << pose_assignment['posable_id'].to_i
114
116
  end
115
117
  # This is the old ActiveRecord way. Removed for performance reasons.
116
118
  # query.each do |pose_assignment|
@@ -133,7 +135,7 @@ module Pose
133
135
 
134
136
  if ids.any? && classes.include?(result_class)
135
137
  ids = ids.slice(0, options[:limit]) if options[:limit]
136
- result[result_class] = options[:result_type] == :ids ? ids : result_class.where(:id => ids)
138
+ result[result_class] = options[:result_type] == :ids ? ids : result_class.where(id: ids)
137
139
  else
138
140
  result[result_class] = []
139
141
  end
data/lib/pose/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pose
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
data/spec/factories.rb CHANGED
@@ -1,12 +1,15 @@
1
- Factory.define :pose_word do |word|
2
- word.text { Faker::Lorem.words(1).first }
3
- end
1
+ FactoryGirl.define do
4
2
 
5
- Factory.define :pose_assignment do |assignment|
6
- assignment.association :pose_word
7
- assignment.association :posable, :factory => :posable_one
8
- end
3
+ factory :pose_word do
4
+ text { Faker::Lorem.words(1).first }
5
+ end
6
+
7
+ factory :pose_assignment do
8
+ pose_word
9
+ posable factory: :posable_one
10
+ end
9
11
 
10
- Factory.define :posable_one do |posable|
11
- posable.text { Faker::Lorem.words(3).join ' ' }
12
+ factory :posable_one do
13
+ text { Faker::Lorem.words(3).join ' ' }
14
+ end
12
15
  end
@@ -9,31 +9,31 @@ describe PoseAssignment do
9
9
  describe "delete_class_index" do
10
10
 
11
11
  before :each do
12
- FactoryGirl.create :pose_assignment, :posable_id => 1, :posable_type => 'PosableOne'
13
- FactoryGirl.create :pose_assignment, :posable_id => 2, :posable_type => 'PosableTwo'
12
+ FactoryGirl.create :pose_assignment, posable_id: 1, posable_type: 'PosableOne'
13
+ FactoryGirl.create :pose_assignment, posable_id: 2, posable_type: 'PosableTwo'
14
14
  PoseAssignment.delete_class_index PosableOne
15
15
  end
16
16
 
17
17
  it "deletes all PoseAssignments for the given class" do
18
- PoseAssignment.where(:posable_type => 'PosableOne').should have(0).items
18
+ PoseAssignment.where(posable_type: 'PosableOne').should have(0).items
19
19
  end
20
20
 
21
21
  it "doesn't delete PoseAssignments for other classes" do
22
- PoseAssignment.where(:posable_type => 'PosableTwo').should have(1).items
22
+ PoseAssignment.where(posable_type: 'PosableTwo').should have(1).items
23
23
  end
24
24
  end
25
25
 
26
26
  describe "cleanup_orphaned_pose_assignments" do
27
27
 
28
28
  it "deletes the assignment if the posable object doesn't exist" do
29
- FactoryGirl.create :pose_assignment, :posable_id => 2, :posable_type => 'PosableOne'
29
+ FactoryGirl.create :pose_assignment, posable_id: 2, posable_type: 'PosableOne'
30
30
  PoseAssignment.count.should > 0
31
31
  PoseAssignment.cleanup_orphaned_pose_assignments
32
32
  PoseAssignment.should have(0).items
33
33
  end
34
34
 
35
35
  it "deletes the assignment if the pose_word doesn't exist" do
36
- assignment = FactoryGirl.create :pose_assignment, :pose_word => nil, :pose_word_id => 27
36
+ assignment = FactoryGirl.create :pose_assignment, pose_word: nil, pose_word_id: 27
37
37
  PoseAssignment.cleanup_orphaned_pose_assignments
38
38
  PoseAssignment.find_by_id(assignment.id).should be_nil
39
39
  end
data/spec/pose_spec.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require "spec_helper"
4
4
 
5
- ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
5
+ ActiveRecord::Base.establish_connection adapter: 'postgresql', database: 'pose_test', min_messages: 'WARNING'
6
6
 
7
7
  describe Pose do
8
8
  subject { PosableOne.new }
@@ -17,7 +17,7 @@ describe Pose do
17
17
  describe 'associations' do
18
18
  it 'allows to access the associated words of a posable object directly' do
19
19
  subject.should have(0).pose_words
20
- subject.pose_words << PoseWord.new(:text => 'one')
20
+ subject.pose_words << PoseWord.new(text: 'one')
21
21
  subject.should have_pose_words(['one'])
22
22
  end
23
23
  end
@@ -88,8 +88,8 @@ describe Pose do
88
88
  describe 'get_words_to_remove' do
89
89
 
90
90
  it "returns an array of word objects that need to be removed" do
91
- word1 = PoseWord.new :text => 'one'
92
- word2 = PoseWord.new :text => 'two'
91
+ word1 = PoseWord.new text: 'one'
92
+ word2 = PoseWord.new text: 'two'
93
93
  existing_words = [word1, word2]
94
94
  new_words = ['one', 'three']
95
95
 
@@ -99,8 +99,8 @@ describe Pose do
99
99
  end
100
100
 
101
101
  it 'returns an empty array if there are no words to be removed' do
102
- word1 = PoseWord.new :text => 'one'
103
- word2 = PoseWord.new :text => 'two'
102
+ word1 = PoseWord.new text: 'one'
103
+ word2 = PoseWord.new text: 'two'
104
104
  existing_words = [word1, word2]
105
105
  new_words = ['one', 'two']
106
106
 
@@ -113,8 +113,8 @@ describe Pose do
113
113
  describe 'get_words_to_add' do
114
114
 
115
115
  it 'returns an array with strings that need to be added' do
116
- word1 = PoseWord.new :text => 'one'
117
- word2 = PoseWord.new :text => 'two'
116
+ word1 = PoseWord.new text: 'one'
117
+ word2 = PoseWord.new text: 'two'
118
118
  existing_words = [word1, word2]
119
119
  new_words = ['one', 'three']
120
120
 
@@ -124,8 +124,8 @@ describe Pose do
124
124
  end
125
125
 
126
126
  it 'returns an empty array if there is nothing to be added' do
127
- word1 = PoseWord.new :text => 'one'
128
- word2 = PoseWord.new :text => 'two'
127
+ word1 = PoseWord.new text: 'one'
128
+ word2 = PoseWord.new text: 'two'
129
129
  existing_words = [word1, word2]
130
130
  new_words = ['one', 'two']
131
131
 
@@ -199,7 +199,7 @@ describe Pose do
199
199
  describe 'search' do
200
200
 
201
201
  it 'works' do
202
- pos1 = PosableOne.create :text => 'one'
202
+ pos1 = PosableOne.create text: 'one'
203
203
 
204
204
  result = Pose.search 'one', PosableOne
205
205
 
@@ -210,8 +210,8 @@ describe Pose do
210
210
 
211
211
  describe 'classes parameter' do
212
212
  it 'returns all different classes by default' do
213
- pos1 = PosableOne.create :text => 'foo'
214
- pos2 = PosableTwo.create :text => 'foo'
213
+ pos1 = PosableOne.create text: 'foo'
214
+ pos2 = PosableTwo.create text: 'foo'
215
215
 
216
216
  result = Pose.search 'foo', [PosableOne, PosableTwo]
217
217
 
@@ -221,8 +221,8 @@ describe Pose do
221
221
  end
222
222
 
223
223
  it 'allows to provide different classes to return' do
224
- pos1 = PosableOne.create :text => 'foo'
225
- pos2 = PosableTwo.create :text => 'foo'
224
+ pos1 = PosableOne.create text: 'foo'
225
+ pos2 = PosableTwo.create text: 'foo'
226
226
 
227
227
  result = Pose.search 'foo', [PosableOne, PosableTwo]
228
228
 
@@ -232,8 +232,8 @@ describe Pose do
232
232
  end
233
233
 
234
234
  it 'returns only instances of the given classes' do
235
- pos1 = PosableOne.create :text => 'one'
236
- pos2 = PosableTwo.create :text => 'one'
235
+ pos1 = PosableOne.create text: 'one'
236
+ pos2 = PosableTwo.create text: 'one'
237
237
 
238
238
  result = Pose.search 'one', PosableOne
239
239
 
@@ -245,7 +245,7 @@ describe Pose do
245
245
  describe 'query parameter' do
246
246
 
247
247
  it 'returns an empty array if nothing matches' do
248
- pos1 = PosableOne.create :text => 'one'
248
+ pos1 = PosableOne.create text: 'one'
249
249
 
250
250
  result = Pose.search 'two', PosableOne
251
251
 
@@ -253,9 +253,9 @@ describe Pose do
253
253
  end
254
254
 
255
255
  it 'returns only objects that match all given query words' do
256
- pos1 = PosableOne.create :text => 'one two'
257
- pos2 = PosableOne.create :text => 'one three'
258
- pos3 = PosableOne.create :text => 'two three'
256
+ pos1 = PosableOne.create text: 'one two'
257
+ pos2 = PosableOne.create text: 'one three'
258
+ pos3 = PosableOne.create text: 'two three'
259
259
 
260
260
  result = Pose.search 'two one', PosableOne
261
261
 
@@ -264,24 +264,33 @@ describe Pose do
264
264
  end
265
265
 
266
266
  it 'returns nothing if searching for a non-existing word' do
267
- pos1 = PosableOne.create :text => 'one two'
267
+ pos1 = PosableOne.create text: 'one two'
268
268
 
269
269
  result = Pose.search 'one zonk', PosableOne
270
270
 
271
271
  result.should have(1).items
272
272
  result[PosableOne].should == []
273
273
  end
274
+
275
+ it 'works if the query is given in uppercase' do
276
+ pos1 = PosableOne.create text: 'one two'
277
+
278
+ result = Pose.search 'OnE TwO', PosableOne
279
+
280
+ result.should have(1).items
281
+ result[PosableOne].should == [pos1]
282
+ end
274
283
  end
275
284
 
276
285
  describe "'limit' parameter" do
277
286
 
278
287
  it 'works' do
279
- FactoryGirl.create :posable_one, :text => 'foo one'
280
- FactoryGirl.create :posable_one, :text => 'foo two'
281
- FactoryGirl.create :posable_one, :text => 'foo three'
282
- FactoryGirl.create :posable_one, :text => 'foo four'
288
+ FactoryGirl.create :posable_one, text: 'foo one'
289
+ FactoryGirl.create :posable_one, text: 'foo two'
290
+ FactoryGirl.create :posable_one, text: 'foo three'
291
+ FactoryGirl.create :posable_one, text: 'foo four'
283
292
 
284
- result = Pose.search 'foo', PosableOne, :limit => 3
293
+ result = Pose.search 'foo', PosableOne, limit: 3
285
294
 
286
295
  result[PosableOne].should have(3).items
287
296
  end
@@ -290,7 +299,7 @@ describe Pose do
290
299
  describe "'result_type' parameter" do
291
300
 
292
301
  before :each do
293
- @foo_one = FactoryGirl.create :posable_one, :text => 'foo one'
302
+ @foo_one = FactoryGirl.create :posable_one, text: 'foo one'
294
303
  end
295
304
 
296
305
  describe 'default behavior' do
@@ -302,7 +311,7 @@ describe Pose do
302
311
 
303
312
  context ':ids given' do
304
313
  it 'returns ids instead of objects' do
305
- result = Pose.search 'foo', PosableOne, :result_type => :ids
314
+ result = Pose.search 'foo', PosableOne, result_type: :ids
306
315
  result[PosableOne][0].should == @foo_one.id
307
316
  end
308
317
  end
@@ -312,7 +321,7 @@ describe Pose do
312
321
  describe 'autocomplete_words' do
313
322
 
314
323
  it 'returns words that start with the given phrase' do
315
- PosableOne.create :text => 'great green pine tree'
324
+ PosableOne.create text: 'great green pine tree'
316
325
 
317
326
  result = Pose.autocomplete_words 'gr'
318
327
 
@@ -322,7 +331,7 @@ describe Pose do
322
331
  end
323
332
 
324
333
  it 'returns words that match the given phrase exactly' do
325
- PoseWord.create :text => 'cat'
334
+ PoseWord.create text: 'cat'
326
335
 
327
336
  result = Pose.autocomplete_words 'cat'
328
337
 
@@ -330,7 +339,7 @@ describe Pose do
330
339
  end
331
340
 
332
341
  it 'stems the search query' do
333
- PosableOne.create :text => 'car'
342
+ PosableOne.create text: 'car'
334
343
 
335
344
  result = Pose.autocomplete_words 'cars'
336
345
 
@@ -339,7 +348,7 @@ describe Pose do
339
348
  end
340
349
 
341
350
  it 'returns nothing if the search query is empty' do
342
- PosableOne.create :text => 'foo bar'
351
+ PosableOne.create text: 'foo bar'
343
352
  result = Pose.autocomplete_words ''
344
353
  result.should have(0).words
345
354
  end
data/spec/spec_helper.rb CHANGED
@@ -13,7 +13,7 @@ FactoryGirl.find_definitions
13
13
 
14
14
  # Configure Rails Environment
15
15
  ENV["RAILS_ENV"] = "test"
16
- Rails = Hashie::Mash.new({:env => 'test'})
16
+ Rails = Hashie::Mash.new({env: 'test'})
17
17
 
18
18
  # We have no Railtie in these tests --> load Pose manually.
19
19
  ActiveRecord::Base.send :extend, Pose::BaseAdditions
@@ -88,7 +88,7 @@ end
88
88
  #
89
89
 
90
90
  def setup_db
91
- ActiveRecord::Schema.define(:version => 1) do
91
+ ActiveRecord::Schema.define(version: 1) do
92
92
 
93
93
  create_table 'posable_ones' do |t|
94
94
  t.string 'text'
@@ -99,13 +99,13 @@ def setup_db
99
99
  end
100
100
 
101
101
  create_table "pose_assignments" do |t|
102
- t.integer "pose_word_id", :null => false
103
- t.integer "posable_id", :null => false
104
- t.string "posable_type", :limit => 20, :null => false
102
+ t.integer "pose_word_id", null: false
103
+ t.integer "posable_id", null: false
104
+ t.string "posable_type", limit: 20, null: false
105
105
  end
106
106
 
107
107
  create_table "pose_words" do |t|
108
- t.string "text", :limit => 80, :null => false
108
+ t.string "text", limit: 80, null: false
109
109
  end
110
110
  end
111
111
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pose
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.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: 2012-06-04 00:00:00.000000000 Z
12
+ date: 2012-09-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70182202899340 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: 3.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70182202899340
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.0.0
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rake
27
- requirement: &70182202897100 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70182202897100
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: ruby-progressbar
38
- requirement: &70182202895340 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *70182202895340
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: factory_girl
49
- requirement: &70182202890340 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70182202890340
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: faker
60
- requirement: &70182202708040 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *70182202708040
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: hashie
71
- requirement: &70182202704860 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: '0'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *70182202704860
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: rspec
82
- requirement: &70182202700960 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ! '>='
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '0'
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *70182202700960
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
91
126
  - !ruby/object:Gem::Dependency
92
- name: sqlite3
93
- requirement: &70182202696980 !ruby/object:Gem::Requirement
127
+ name: pg
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ! '>='
@@ -98,7 +133,12 @@ dependencies:
98
133
  version: '0'
99
134
  type: :development
100
135
  prerelease: false
101
- version_requirements: *70182202696980
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
102
142
  description: Pose ('Polymorphic Search') allows fulltext search for ActiveRecord objects.
103
143
  email:
104
144
  - kevin.goslar@gmail.com
@@ -164,7 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
204
  version: '0'
165
205
  requirements: []
166
206
  rubyforge_project:
167
- rubygems_version: 1.8.15
207
+ rubygems_version: 1.8.24
168
208
  signing_key:
169
209
  specification_version: 3
170
210
  summary: A polymorphic, storage-system independent search engine for Ruby on Rails.