xapor 0.1.6 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source :rubygems
2
+ gemspec
@@ -0,0 +1,45 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ xapor (0.1.4)
5
+ xapian-fu (>= 1.1.0)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ builder (3.0.0)
11
+ cucumber (1.1.3)
12
+ builder (>= 2.1.2)
13
+ diff-lcs (>= 1.1.2)
14
+ gherkin (~> 2.6.7)
15
+ json (>= 1.4.6)
16
+ term-ansicolor (>= 1.0.6)
17
+ diff-lcs (1.1.3)
18
+ gherkin (2.6.8)
19
+ json (>= 1.4.6)
20
+ git (1.2.5)
21
+ jeweler (1.6.4)
22
+ bundler (~> 1.0)
23
+ git (>= 1.2.5)
24
+ rake
25
+ json (1.6.2)
26
+ rake (0.9.2.2)
27
+ rspec (2.7.0)
28
+ rspec-core (~> 2.7.0)
29
+ rspec-expectations (~> 2.7.0)
30
+ rspec-mocks (~> 2.7.0)
31
+ rspec-core (2.7.1)
32
+ rspec-expectations (2.7.0)
33
+ diff-lcs (~> 1.1.2)
34
+ rspec-mocks (2.7.0)
35
+ term-ansicolor (1.0.7)
36
+ xapian-fu (1.3.1)
37
+
38
+ PLATFORMS
39
+ ruby
40
+
41
+ DEPENDENCIES
42
+ cucumber
43
+ jeweler
44
+ rspec (>= 1.2.9)
45
+ xapor!
data/Rakefile CHANGED
@@ -20,30 +20,8 @@ rescue LoadError
20
20
  puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
21
21
  end
22
22
 
23
- require 'spec/rake/spectask'
24
- Spec::Rake::SpecTask.new(:spec) do |spec|
25
- spec.libs << 'lib' << 'spec'
26
- spec.spec_files = FileList['spec/**/*_spec.rb']
27
- end
28
-
29
- Spec::Rake::SpecTask.new(:rcov) do |spec|
30
- spec.libs << 'lib' << 'spec'
31
- spec.pattern = 'spec/**/*_spec.rb'
32
- spec.rcov = true
33
- end
34
-
35
- task :spec => :check_dependencies
36
-
37
- begin
38
- require 'cucumber/rake/task'
39
- Cucumber::Rake::Task.new(:features)
40
-
41
- task :features => :check_dependencies
42
- rescue LoadError
43
- task :features do
44
- abort "Cucumber is not available. In order to run features, you must: sudo gem install cucumber"
45
- end
46
- end
23
+ require 'rspec/core/rake_task'
24
+ RSpec::Core::RakeTask.new(:spec)
47
25
 
48
26
  task :default => :spec
49
27
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.6
1
+ 0.2.0
@@ -12,49 +12,46 @@ module Xapor::XapianFuIntegration
12
12
 
13
13
  module ClassMethods
14
14
  def xapor
15
- class << self
16
- attr_accessor :xapor_config
17
- attr_accessor :xapor_db
18
- end
19
-
20
15
  include XapianFu
21
16
 
22
- def self.search(query)
17
+ def search(query)
23
18
  xapor_db.search(query)
24
19
  end
25
20
 
26
- def self.reset_index
27
- if self.xapor_db
28
- self.xapor_db.flush
29
- self.xapor_db.ro.close
30
- self.xapor_db.rw.close
21
+ def reset_index
22
+ if @db
23
+ @db.flush
24
+ @db.ro.close
25
+ @db.rw.close
31
26
  end
32
- self.xapor_db = ::XapianFu::XapianDb.new(self.xapor_config.xapian_fu_db.merge(:overwrite => true))
27
+ @db = XapianDb.new(xapor_config.xapian_fu_db.merge(:overwrite => true))
33
28
  if block_given?
34
- yield self.xapor_db
29
+ yield @db
35
30
  end
36
31
  end
37
32
 
38
- self.xapor_config = Xapor::Config.new
39
- if block_given?
40
- yield self.xapor_config
33
+ def xapor_config
34
+ self.class.instance_variable_get(:@config)
41
35
  end
42
- self.xapor_db = ::XapianFu::XapianDb.new(self.xapor_config.xapian_fu_db.merge(:create => true))
43
36
 
44
- eigenclass = class << self
45
- self
37
+ def xapor_db
38
+ @db ||= XapianDb.new(xapor_config.xapian_fu_db.merge(:create => true))
46
39
  end
47
- self.xapor_config.search_fields.each do |field|
48
- eigenclass.send(:define_method, :"search_by_#{field}") do |query|
49
- self.search(query)
50
- end
40
+
41
+ @config = Xapor::Config.new
42
+ if block_given?
43
+ yield @config
44
+ end
45
+
46
+ @config.search_fields.each do |field|
47
+ class_eval("def self.search_by_#{field}(query)\nself.search(query)\nend")
51
48
  end
52
49
 
53
50
  if defined? ActiveRecord && ancestors.includes(ActiveRecord::Base)
54
51
  after_save :add_to_index
55
52
  after_destroy :remove_from_index
56
53
  #in-memory index, needs to be indexed on startup
57
- all.each {|o| o.add_to_index} unless self.xapor_config.directory_config
54
+ all.each {|o| o.add_to_index} unless @config.directory_config
58
55
  end
59
56
  end
60
57
  end
@@ -1,70 +1,78 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{xapor}
8
- s.version = "0.1.6"
7
+ s.name = "xapor"
8
+ s.version = "0.2.0"
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-06-01}
13
- s.description = %q{Rails plugin for Xapian search, built on XapianFu and DelayedJob.}
14
- s.email = %q{workmad3@hedtek.com}
12
+ s.date = "2011-11-30"
13
+ s.description = "Rails plugin for Xapian search, built on XapianFu and DelayedJob."
14
+ s.email = "workmad3@hedtek.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
- "README.textile"
17
+ "README.textile"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.textile",
24
- "Rakefile",
25
- "VERSION",
26
- "features/step_definitions/xapor_steps.rb",
27
- "features/support/env.rb",
28
- "features/xapor.feature",
29
- "generators/xapor_initializer/templates/xapor.rb",
30
- "generators/xapor_initializer/xapor_initializer_generator.rb",
31
- "init.rb",
32
- "lib/xapor.rb",
33
- "lib/xapor/config.rb",
34
- "lib/xapor/model_integration.rb",
35
- "spec/lib/xapor/config_spec.rb",
36
- "spec/lib/xapor/model_integration_spec.rb",
37
- "spec/lib/xapor_spec.rb",
38
- "spec/spec.opts",
39
- "spec/spec_helper.rb",
40
- "xapor.gemspec"
41
- ]
42
- s.homepage = %q{http://github.com/hedtekltd/xapor}
43
- s.rdoc_options = ["--charset=UTF-8"]
44
- s.require_paths = ["lib"]
45
- s.rubygems_version = %q{1.3.6}
46
- s.summary = %q{Rails plugin for Xapian search}
47
- s.test_files = [
21
+ "Gemfile",
22
+ "Gemfile.lock",
23
+ "LICENSE",
24
+ "README.textile",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "features/step_definitions/xapor_steps.rb",
28
+ "features/support/env.rb",
29
+ "features/xapor.feature",
30
+ "lib/xapor.rb",
31
+ "lib/xapor/config.rb",
32
+ "lib/xapor/model_integration.rb",
48
33
  "spec/lib/xapor/config_spec.rb",
49
- "spec/lib/xapor/model_integration_spec.rb",
50
- "spec/lib/xapor_spec.rb",
51
- "spec/spec_helper.rb"
34
+ "spec/lib/xapor/model_integration_spec.rb",
35
+ "spec/lib/xapor_spec.rb",
36
+ "spec/spec.opts",
37
+ "spec/spec_helper.rb",
38
+ "xapor.gemspec"
52
39
  ]
40
+ s.homepage = "http://github.com/hedtekltd/xapor"
41
+ s.require_paths = ["lib"]
42
+ s.rubygems_version = "1.8.10"
43
+ s.summary = "Rails plugin for Xapian search"
53
44
 
54
45
  if s.respond_to? :specification_version then
55
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
56
46
  s.specification_version = 3
57
47
 
58
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
48
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
+ s.add_runtime_dependency(%q<xapor>, [">= 0"])
50
+ s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
51
+ s.add_development_dependency(%q<cucumber>, [">= 0"])
52
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
53
+ s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
54
+ s.add_development_dependency(%q<cucumber>, [">= 0"])
59
55
  s.add_runtime_dependency(%q<xapian-fu>, [">= 1.1.0"])
60
56
  s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
61
57
  s.add_development_dependency(%q<cucumber>, [">= 0"])
62
58
  else
59
+ s.add_dependency(%q<xapor>, [">= 0"])
60
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
61
+ s.add_dependency(%q<cucumber>, [">= 0"])
62
+ s.add_dependency(%q<jeweler>, [">= 0"])
63
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
64
+ s.add_dependency(%q<cucumber>, [">= 0"])
63
65
  s.add_dependency(%q<xapian-fu>, [">= 1.1.0"])
64
66
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
65
67
  s.add_dependency(%q<cucumber>, [">= 0"])
66
68
  end
67
69
  else
70
+ s.add_dependency(%q<xapor>, [">= 0"])
71
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
72
+ s.add_dependency(%q<cucumber>, [">= 0"])
73
+ s.add_dependency(%q<jeweler>, [">= 0"])
74
+ s.add_dependency(%q<rspec>, [">= 1.2.9"])
75
+ s.add_dependency(%q<cucumber>, [">= 0"])
68
76
  s.add_dependency(%q<xapian-fu>, [">= 1.1.0"])
69
77
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
70
78
  s.add_dependency(%q<cucumber>, [">= 0"])
metadata CHANGED
@@ -1,74 +1,126 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: xapor
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 1
8
- - 6
9
- version: 0.1.6
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - David Workman
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2010-06-01 00:00:00 +01:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: xapian-fu
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 1
29
- - 1
30
- - 0
31
- version: 1.1.0
12
+ date: 2011-11-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: xapor
16
+ requirement: &2155939280 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
23
+ prerelease: false
24
+ version_requirements: *2155939280
25
+ - !ruby/object:Gem::Dependency
35
26
  name: rspec
27
+ requirement: &2155937380 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 1.2.9
33
+ type: :development
36
34
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- segments:
42
- - 1
43
- - 2
44
- - 9
35
+ version_requirements: *2155937380
36
+ - !ruby/object:Gem::Dependency
37
+ name: cucumber
38
+ requirement: &2155960600 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2155960600
47
+ - !ruby/object:Gem::Dependency
48
+ name: jeweler
49
+ requirement: &2155958360 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *2155958360
58
+ - !ruby/object:Gem::Dependency
59
+ name: rspec
60
+ requirement: &2155956840 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
45
65
  version: 1.2.9
46
66
  type: :development
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
67
+ prerelease: false
68
+ version_requirements: *2155956840
69
+ - !ruby/object:Gem::Dependency
49
70
  name: cucumber
71
+ requirement: &2155955740 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
50
78
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- segments:
56
- - 0
57
- version: "0"
79
+ version_requirements: *2155955740
80
+ - !ruby/object:Gem::Dependency
81
+ name: xapian-fu
82
+ requirement: &2155954600 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: 1.1.0
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: *2155954600
91
+ - !ruby/object:Gem::Dependency
92
+ name: rspec
93
+ requirement: &2155953580 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: 1.2.9
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: *2155953580
102
+ - !ruby/object:Gem::Dependency
103
+ name: cucumber
104
+ requirement: &2155987540 !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
58
110
  type: :development
59
- version_requirements: *id003
111
+ prerelease: false
112
+ version_requirements: *2155987540
60
113
  description: Rails plugin for Xapian search, built on XapianFu and DelayedJob.
61
114
  email: workmad3@hedtek.com
62
115
  executables: []
63
-
64
116
  extensions: []
65
-
66
- extra_rdoc_files:
117
+ extra_rdoc_files:
67
118
  - LICENSE
68
119
  - README.textile
69
- files:
120
+ files:
70
121
  - .document
71
- - .gitignore
122
+ - Gemfile
123
+ - Gemfile.lock
72
124
  - LICENSE
73
125
  - README.textile
74
126
  - Rakefile
@@ -76,9 +128,6 @@ files:
76
128
  - features/step_definitions/xapor_steps.rb
77
129
  - features/support/env.rb
78
130
  - features/xapor.feature
79
- - generators/xapor_initializer/templates/xapor.rb
80
- - generators/xapor_initializer/xapor_initializer_generator.rb
81
- - init.rb
82
131
  - lib/xapor.rb
83
132
  - lib/xapor/config.rb
84
133
  - lib/xapor/model_integration.rb
@@ -88,38 +137,28 @@ files:
88
137
  - spec/spec.opts
89
138
  - spec/spec_helper.rb
90
139
  - xapor.gemspec
91
- has_rdoc: true
92
140
  homepage: http://github.com/hedtekltd/xapor
93
141
  licenses: []
94
-
95
142
  post_install_message:
96
- rdoc_options:
97
- - --charset=UTF-8
98
- require_paths:
143
+ rdoc_options: []
144
+ require_paths:
99
145
  - lib
100
- required_ruby_version: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- segments:
105
- - 0
106
- version: "0"
107
- required_rubygems_version: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- segments:
112
- - 0
113
- version: "0"
146
+ required_ruby_version: !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ! '>='
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ required_rubygems_version: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
114
158
  requirements: []
115
-
116
159
  rubyforge_project:
117
- rubygems_version: 1.3.6
160
+ rubygems_version: 1.8.10
118
161
  signing_key:
119
162
  specification_version: 3
120
163
  summary: Rails plugin for Xapian search
121
- test_files:
122
- - spec/lib/xapor/config_spec.rb
123
- - spec/lib/xapor/model_integration_spec.rb
124
- - spec/lib/xapor_spec.rb
125
- - spec/spec_helper.rb
164
+ test_files: []
data/.gitignore DELETED
@@ -1,24 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## RUBYMINE
17
- .idea/*
18
-
19
- ## PROJECT::GENERAL
20
- coverage
21
- rdoc
22
- pkg
23
-
24
- ## PROJECT::SPECIFIC
@@ -1,8 +0,0 @@
1
- class XaporInitializerGenerator < Rails::Generator::Base
2
- def manifest
3
- record do |m|
4
- m.directory 'config/initializers'
5
- m.template 'xapor.rb', 'config/initializers/xapor.rb'
6
- end
7
- end
8
- end
data/init.rb DELETED
@@ -1 +0,0 @@
1
- require 'xapor'