acts_as_ferret 0.5 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
@@ -9,7 +9,7 @@ class Stats < ActiveRecord::Base
|
|
9
9
|
where kind=? group by time;
|
10
10
|
END
|
11
11
|
result = connection.execute sanitize_sql([sql, start_date, start_date, kind.to_s])
|
12
|
-
|
12
|
+
[].tap do |res|
|
13
13
|
while row = result.fetch_row
|
14
14
|
data = row.last.split(',').map{|t|t.to_i}
|
15
15
|
median = data.size.odd? ? data[data.size/2] : ((data[data.size/2-1]+data[data.size/2]) / 2.0)
|
data/lib/acts_as_ferret.rb
CHANGED
@@ -493,14 +493,13 @@ module ActsAsFerret
|
|
493
493
|
|
494
494
|
# combine our conditions with those given by user, if any
|
495
495
|
def self.combine_conditions(conditions, additional_conditions = [])
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
conditions.concat(cust_opts)
|
502
|
-
end
|
496
|
+
if additional_conditions && additional_conditions.any?
|
497
|
+
cust_opts = (Array === additional_conditions) ? additional_conditions.dup : [ additional_conditions ]
|
498
|
+
logger.debug "cust_opts: #{cust_opts.inspect}"
|
499
|
+
conditions.first << " and " << cust_opts.shift
|
500
|
+
conditions.concat(cust_opts)
|
503
501
|
end
|
502
|
+
return conditions
|
504
503
|
end
|
505
504
|
|
506
505
|
def self.build_field_config(fields)
|
@@ -125,7 +125,7 @@ module ActsAsFerret #:nodoc:
|
|
125
125
|
# fieldname => value pairs)
|
126
126
|
def to_doc
|
127
127
|
logger.debug "creating doc for class: #{self.ferret_key}"
|
128
|
-
|
128
|
+
Ferret::Document.new.tap do |doc|
|
129
129
|
# store the id and class name of each item, and the unique key used for identifying the record
|
130
130
|
# even in multi-class indexes.
|
131
131
|
doc[:key] = self.ferret_key
|
@@ -16,9 +16,9 @@ module ActsAsFerret
|
|
16
16
|
# The 'real' Ferret Index instance
|
17
17
|
def ferret_index
|
18
18
|
ensure_index_exists
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
(@ferret_index ||= Ferret::Index::Index.new(index_definition[:ferret])).tap do |idx|
|
20
|
+
idx.batch_size = index_definition[:reindex_batch_size]
|
21
|
+
idx.logger = logger
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -151,7 +151,7 @@ module ActsAsFerret
|
|
151
151
|
return Ferret::Search::TermQuery.new(:key, key.to_s)
|
152
152
|
# if shared?
|
153
153
|
# raise InvalidArgumentError.new("shared index needs class_name argument") if class_name.nil?
|
154
|
-
#
|
154
|
+
# Ferret::Search::BooleanQuery.new.tap do |bq|
|
155
155
|
# bq.add_query(Ferret::Search::TermQuery.new(:id, id.to_s), :must)
|
156
156
|
# bq.add_query(Ferret::Search::TermQuery.new(:class_name, class_name), :must)
|
157
157
|
# end
|
@@ -182,7 +182,7 @@ module ActsAsFerret
|
|
182
182
|
:create => true,
|
183
183
|
:field_infos => ActsAsFerret::field_infos(index_definition),
|
184
184
|
:path => File.join(index_definition[:index_base_dir], 'rebuild')
|
185
|
-
|
185
|
+
Ferret::Index::Index.new(ferret_cfg).tap do |i|
|
186
186
|
i.batch_size = index_definition[:reindex_batch_size]
|
187
187
|
i.logger = @logger
|
188
188
|
end
|
metadata
CHANGED
@@ -1,11 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_ferret
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 0
|
7
|
-
- 5
|
8
|
-
version: "0.5"
|
4
|
+
version: 0.5.1
|
9
5
|
platform: ruby
|
10
6
|
authors:
|
11
7
|
- Jens Kraemer
|
@@ -18,33 +14,24 @@ default_executable: aaf_install
|
|
18
14
|
dependencies:
|
19
15
|
- !ruby/object:Gem::Dependency
|
20
16
|
name: jk-ferret
|
21
|
-
|
22
|
-
|
23
|
-
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
20
|
requirements:
|
25
21
|
- - ">="
|
26
22
|
- !ruby/object:Gem::Version
|
27
|
-
segments:
|
28
|
-
- 0
|
29
|
-
- 11
|
30
|
-
- 8
|
31
23
|
version: 0.11.8
|
32
|
-
|
33
|
-
version_requirements: *id001
|
24
|
+
version:
|
34
25
|
- !ruby/object:Gem::Dependency
|
35
26
|
name: rails
|
36
|
-
|
37
|
-
|
38
|
-
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
30
|
requirements:
|
40
31
|
- - ">="
|
41
32
|
- !ruby/object:Gem::Version
|
42
|
-
segments:
|
43
|
-
- 3
|
44
|
-
- 0
|
45
33
|
version: "3.0"
|
46
|
-
|
47
|
-
version_requirements: *id002
|
34
|
+
version:
|
48
35
|
description: Rails plugin that adds powerful full text search capabilities to ActiveRecord models.
|
49
36
|
email: jk@jkraemer.net
|
50
37
|
executables:
|
@@ -226,27 +213,21 @@ rdoc_options:
|
|
226
213
|
require_paths:
|
227
214
|
- lib
|
228
215
|
required_ruby_version: !ruby/object:Gem::Requirement
|
229
|
-
none: false
|
230
216
|
requirements:
|
231
217
|
- - ">="
|
232
218
|
- !ruby/object:Gem::Version
|
233
|
-
segments:
|
234
|
-
- 1
|
235
|
-
- 8
|
236
|
-
- 7
|
237
219
|
version: 1.8.7
|
220
|
+
version:
|
238
221
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
239
|
-
none: false
|
240
222
|
requirements:
|
241
223
|
- - ">="
|
242
224
|
- !ruby/object:Gem::Version
|
243
|
-
segments:
|
244
|
-
- 0
|
245
225
|
version: "0"
|
226
|
+
version:
|
246
227
|
requirements: []
|
247
228
|
|
248
229
|
rubyforge_project: acts_as_ferret
|
249
|
-
rubygems_version: 1.3.
|
230
|
+
rubygems_version: 1.3.5
|
250
231
|
signing_key:
|
251
232
|
specification_version: 3
|
252
233
|
summary: acts_as_ferret - Ferret based full text search for any ActiveRecord model
|