xapian_db 0.5.11 → 0.5.12
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +6 -0
- data/README.rdoc +3 -2
- data/lib/xapian_db/document_blueprint.rb +4 -8
- metadata +3 -3
data/CHANGELOG.md
CHANGED
data/README.rdoc
CHANGED
@@ -284,7 +284,8 @@ The easiest way is to use macports or homebrew:
|
|
284
284
|
sudo apt-get -t lenny-backports install libevent-1.4-2
|
285
285
|
sudo apt-get -t lenny-backports install libevent-dev
|
286
286
|
cd /tmp
|
287
|
-
|
287
|
+
wget --no-check-certificate https://github.com/downloads/kr/beanstalkd/beanstalkd-1.4.6.tar.gz
|
288
|
+
tar xvf beanstalkd-1.4.6.tar.gz
|
288
289
|
cd beanstalkd-1.4.6/
|
289
290
|
./configure
|
290
291
|
make
|
@@ -297,7 +298,7 @@ The easiest way is to use macports or homebrew:
|
|
297
298
|
|
298
299
|
=== 3. Install the beanstalk worker script
|
299
300
|
|
300
|
-
rails generate
|
301
|
+
rails generate xapian_db:install
|
301
302
|
|
302
303
|
=== 4. Configure your production environment in config/xapian_db.yml
|
303
304
|
|
@@ -35,6 +35,8 @@ module XapianDb
|
|
35
35
|
@blueprints ||= {}
|
36
36
|
blueprint = DocumentBlueprint.new
|
37
37
|
yield blueprint if block_given? # configure the blueprint through the block
|
38
|
+
# Remove a previously loaded blueprint for this class to avoid stale blueprint definitions
|
39
|
+
@blueprints.delete_if { |key, blueprint| key.name == klass.name }
|
38
40
|
@blueprints[klass] = blueprint
|
39
41
|
@_adapter = blueprint._adapter || XapianDb::Config.adapter || Adapters::GenericAdapter
|
40
42
|
@_adapter.add_class_helper_methods_to klass
|
@@ -65,14 +67,10 @@ module XapianDb
|
|
65
67
|
# @return [Array<String>] All searchable prefixes
|
66
68
|
def searchable_prefixes
|
67
69
|
return [] unless @blueprints
|
68
|
-
|
69
|
-
prefixes = []
|
70
|
-
@blueprints.values.each do |blueprint|
|
71
|
-
prefixes << blueprint.searchable_prefixes
|
72
|
-
end
|
73
|
-
@searchable_prefixes = prefixes.flatten.compact.uniq
|
70
|
+
@searchable_prefixes ||= @blueprints.values.map { |blueprint| blueprint.searchable_prefixes }.flatten.compact.uniq
|
74
71
|
# We can always do a field search on the name of the indexed class
|
75
72
|
@searchable_prefixes << "indexed_class"
|
73
|
+
@searchable_prefixes
|
76
74
|
end
|
77
75
|
|
78
76
|
end
|
@@ -206,7 +204,6 @@ module XapianDb
|
|
206
204
|
# end
|
207
205
|
# end
|
208
206
|
# end
|
209
|
-
# @todo Make sure the name does not collide with a method name of Xapian::Document
|
210
207
|
def attribute(name, options={}, &block)
|
211
208
|
raise ArgumentError.new("You cannot use #{name} as an attribute name since it is a reserved method name of Xapian::Document") if reserved_method_name?(name)
|
212
209
|
opts = {:index => true}.merge(options)
|
@@ -221,7 +218,6 @@ module XapianDb
|
|
221
218
|
# Add a list of attributes to the blueprint. Attributes will be stored in the xapian documents ans
|
222
219
|
# can be accessed from a search result.
|
223
220
|
# @param [Array] attributes An array of method names that deliver the values for the attributes
|
224
|
-
# @todo Make sure the name does not collide with a method name of Xapian::Document
|
225
221
|
def attributes(*attributes)
|
226
222
|
attributes.each do |attr|
|
227
223
|
raise ArgumentError.new("You cannot use #{attr} as an attribute name since it is a reserved method name of Xapian::Document") if reserved_method_name?(attr)
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 5
|
8
|
-
-
|
9
|
-
version: 0.5.
|
8
|
+
- 12
|
9
|
+
version: 0.5.12
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Gernot Kogler
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-
|
17
|
+
date: 2011-05-02 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|