xapor 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4
@@ -12,52 +12,46 @@ module Xapor::XapianFuIntegration
12
12
 
13
13
  module ClassMethods
14
14
  def xapor
15
- class << self
16
- include XapianFu
15
+ include XapianFu
17
16
 
18
- def search(query)
19
- xapor_db.search(query)
20
- end
17
+ def search(query)
18
+ xapor_db.search(query)
19
+ end
21
20
 
22
- def reset_index
23
- if @db
24
- @db.flush
25
- @db.ro.close
26
- @db.rw.close
27
- end
28
- @db = XapianDb.new(@config.xapian_fu_db.merge(:overwrite => true))
29
- if block_given?
30
- yield @db
31
- end
21
+ def reset_index
22
+ if @db
23
+ @db.flush
24
+ @db.ro.close
25
+ @db.rw.close
32
26
  end
33
-
34
- def xapor_config
35
- @config
27
+ @db = XapianDb.new(xapor_config.xapian_fu_db.merge(:overwrite => true))
28
+ if block_given?
29
+ yield @db
36
30
  end
31
+ end
37
32
 
38
- def xapor_db
39
- if !(@db || @config.directory_config)
40
- reset_index do
41
- all.each {|o| o.add_to_index}
42
- end
43
- end
44
- @db ||= XapianDb.new(@config.xapian_fu_db.merge(:create => true))
45
- end
33
+ def xapor_config
34
+ self.class.instance_variable_get(:@config)
46
35
  end
36
+
37
+ def xapor_db
38
+ @db ||= XapianDb.new(xapor_config.xapian_fu_db.merge(:create => true))
39
+ end
40
+
47
41
  @config = Xapor::Config.new
48
42
  if block_given?
49
43
  yield @config
50
44
  end
45
+
51
46
  @config.search_fields.each do |field|
52
47
  class_eval("def self.search_by_#{field}(query)\nself.search(query)\nend")
53
48
  end
49
+
54
50
  if defined? ActiveRecord && ancestors.includes(ActiveRecord::Base)
55
- class_eval("after_save :add_to_index")
56
- class_eval("after_destroy :remove_from_index")
57
- unless @config.directory_config
58
- #in-memory index, needs to be indexed on startup
59
- class_eval("all.each {|o| o.add_to_index}")
60
- end
51
+ after_save :add_to_index
52
+ after_destroy :remove_from_index
53
+ #in-memory index, needs to be indexed on startup
54
+ all.each {|o| o.add_to_index} unless @config.directory_config
61
55
  end
62
56
  end
63
57
  end
data/xapor.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{xapor}
8
- s.version = "0.1.3"
8
+ s.version = "0.1.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["David Workman"]
12
- s.date = %q{2010-04-22}
12
+ s.date = %q{2010-05-19}
13
13
  s.description = %q{Rails plugin for Xapian search, built on XapianFu and DelayedJob.}
14
14
  s.email = %q{workmad3@hedtek.com}
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 3
9
- version: 0.1.3
8
+ - 4
9
+ version: 0.1.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - David Workman
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-22 00:00:00 +01:00
17
+ date: 2010-05-19 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency