xapor 0.0.5 → 0.0.6
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.
- data/Rakefile +0 -1
- data/VERSION +1 -1
- data/generators/xapor_initializer/templates/xapor.rb +0 -3
- data/lib/xapor/model_integration.rb +10 -13
- data/spec/lib/xapor/model_integration_spec.rb +0 -14
- data/xapor.gemspec +1 -4
- metadata +6 -20
data/Rakefile
CHANGED
@@ -11,7 +11,6 @@ begin
|
|
11
11
|
gem.homepage = "http://github.com/hedtekltd/xapor"
|
12
12
|
gem.authors = ["David Workman"]
|
13
13
|
gem.add_dependency "xapian-fu", ">= 1.1.0"
|
14
|
-
gem.add_dependency "delayed_job", ">= 2.0.3"
|
15
14
|
gem.add_development_dependency "rspec", ">= 1.2.9"
|
16
15
|
gem.add_development_dependency "cucumber", ">= 0"
|
17
16
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
@@ -16,16 +16,19 @@ module Xapor::XapianFuIntegration
|
|
16
16
|
include XapianFu
|
17
17
|
|
18
18
|
def search(query)
|
19
|
-
db
|
20
|
-
db.search(query)
|
19
|
+
@db.search(query)
|
21
20
|
end
|
22
21
|
|
23
22
|
def xapor_config
|
24
23
|
@config
|
25
24
|
end
|
25
|
+
|
26
|
+
def xapor_db
|
27
|
+
@db ||= XapianDb.new(@config.xapian_fu_db, :create => true)
|
28
|
+
end
|
26
29
|
end
|
27
|
-
if self.
|
28
|
-
after_save :add_to_index
|
30
|
+
if defined?(ActiveRecord) && self.is_a?(ActiveRecord::Base)
|
31
|
+
self.send(:after_save, :add_to_index)
|
29
32
|
end
|
30
33
|
@config = Xapor::Config.new
|
31
34
|
if block_given?
|
@@ -37,19 +40,13 @@ module Xapor::XapianFuIntegration
|
|
37
40
|
end
|
38
41
|
end
|
39
42
|
|
40
|
-
def
|
41
|
-
config = self.class.xapor_config
|
42
|
-
db = XapianDb.new(config.xapian_fu_db.merge(:create => true))
|
43
|
+
def add_to_index
|
43
44
|
doc = {:id => self.id}
|
44
45
|
config.search_fields.each do |field|
|
45
46
|
doc[field] = self.send(field.to_sym)
|
46
47
|
end
|
47
|
-
|
48
|
-
|
49
|
-
end
|
50
|
-
|
51
|
-
def add_to_index
|
52
|
-
Delayed::Job.enqueue self
|
48
|
+
self.class.xapor_db << doc
|
49
|
+
self.class.xapor_db.flush
|
53
50
|
end
|
54
51
|
end
|
55
52
|
|
@@ -19,18 +19,4 @@ describe Xapor::ModelIntegration, "Search integration into a model class" do
|
|
19
19
|
XaporTest.send(:xapor) {|idx| idx.search :name}
|
20
20
|
XaporTest.respond_to?(:search_by_name).should be_true
|
21
21
|
end
|
22
|
-
|
23
|
-
it "add a perform method for delayed job" do
|
24
|
-
XaporTest.send(:attr_accessor, :name)
|
25
|
-
XaporTest.send(:include, Xapor::ModelIntegration)
|
26
|
-
XaporTest.send(:xapor) {|idx|
|
27
|
-
idx.search :name
|
28
|
-
idx.directory "test.db"
|
29
|
-
}
|
30
|
-
XaporTest.new.respond_to?(:perform).should be_true
|
31
|
-
test = XaporTest.new
|
32
|
-
test.should_receive(:id).and_return(1)
|
33
|
-
test.should_receive(:name).and_return("Awesome")
|
34
|
-
test.perform
|
35
|
-
end
|
36
22
|
end
|
data/xapor.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{xapor}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.6"
|
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"]
|
@@ -57,18 +57,15 @@ Gem::Specification.new do |s|
|
|
57
57
|
|
58
58
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
59
59
|
s.add_runtime_dependency(%q<xapian-fu>, [">= 1.1.0"])
|
60
|
-
s.add_runtime_dependency(%q<delayed_job>, [">= 2.0.3"])
|
61
60
|
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
62
61
|
s.add_development_dependency(%q<cucumber>, [">= 0"])
|
63
62
|
else
|
64
63
|
s.add_dependency(%q<xapian-fu>, [">= 1.1.0"])
|
65
|
-
s.add_dependency(%q<delayed_job>, [">= 2.0.3"])
|
66
64
|
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
67
65
|
s.add_dependency(%q<cucumber>, [">= 0"])
|
68
66
|
end
|
69
67
|
else
|
70
68
|
s.add_dependency(%q<xapian-fu>, [">= 1.1.0"])
|
71
|
-
s.add_dependency(%q<delayed_job>, [">= 2.0.3"])
|
72
69
|
s.add_dependency(%q<rspec>, [">= 1.2.9"])
|
73
70
|
s.add_dependency(%q<cucumber>, [">= 0"])
|
74
71
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 6
|
9
|
+
version: 0.0.6
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- David Workman
|
@@ -31,24 +31,10 @@ dependencies:
|
|
31
31
|
version: 1.1.0
|
32
32
|
type: :runtime
|
33
33
|
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: delayed_job
|
36
|
-
prerelease: false
|
37
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - ">="
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
segments:
|
42
|
-
- 2
|
43
|
-
- 0
|
44
|
-
- 3
|
45
|
-
version: 2.0.3
|
46
|
-
type: :runtime
|
47
|
-
version_requirements: *id002
|
48
34
|
- !ruby/object:Gem::Dependency
|
49
35
|
name: rspec
|
50
36
|
prerelease: false
|
51
|
-
requirement: &
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
52
38
|
requirements:
|
53
39
|
- - ">="
|
54
40
|
- !ruby/object:Gem::Version
|
@@ -58,11 +44,11 @@ dependencies:
|
|
58
44
|
- 9
|
59
45
|
version: 1.2.9
|
60
46
|
type: :development
|
61
|
-
version_requirements: *
|
47
|
+
version_requirements: *id002
|
62
48
|
- !ruby/object:Gem::Dependency
|
63
49
|
name: cucumber
|
64
50
|
prerelease: false
|
65
|
-
requirement: &
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
66
52
|
requirements:
|
67
53
|
- - ">="
|
68
54
|
- !ruby/object:Gem::Version
|
@@ -70,7 +56,7 @@ dependencies:
|
|
70
56
|
- 0
|
71
57
|
version: "0"
|
72
58
|
type: :development
|
73
|
-
version_requirements: *
|
59
|
+
version_requirements: *id003
|
74
60
|
description: Rails plugin for Xapian search, built on XapianFu and DelayedJob.
|
75
61
|
email: workmad3@hedtek.com
|
76
62
|
executables: []
|