sunspot_mongoid 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -3,18 +3,14 @@ sunspot_mongoid
3
3
 
4
4
  A Sunspot wrapper for Mongoid.
5
5
 
6
- See also: [http://github.com/outoftime/sunspot/tree/master/sunspot_rails/](http://github.com/outoftime/sunspot/tree/master/sunspot_rails/)
7
-
8
- Example
6
+ Install
9
7
  ----
10
8
 
11
- require 'sunspot_mongoid'
9
+ gem install sunspot_mongoid
12
10
 
13
- Mongoid.configure do |config|
14
- config.master = Mongo::Connection.new.db('sunspot-mongoid-test')
15
- end
11
+ Examples
12
+ ----
16
13
 
17
- # model
18
14
  class Post
19
15
  include Mongoid::Document
20
16
  field :title
@@ -25,27 +21,21 @@ Example
25
21
  end
26
22
  end
27
23
 
28
- # indexing
29
- Post.create(:title => 'foo')
30
- Post.create(:title => 'foo bar')
31
- Post.create(:title => 'bar baz')
24
+ For Rails3
25
+ ----
32
26
 
33
- # commit
34
- Sunspot.commit
27
+ ### as gem:
35
28
 
36
- # search
37
- search = Post.search do
38
- keywords 'foo'
39
- end
40
- search.each_hit_with_result do |hit, post|
41
- p post
42
- end
29
+ add a gem to Gemfile as following,
43
30
 
44
- #=> #<Post _id: 4c319556327b3c4b42000001, title: "foo">
45
- #=> #<Post _id: 4c319556327b3c4b42000002, title: "foo bar">
31
+ gem 'sunspot_mongoid'
46
32
 
47
- Use as Rails plugin
48
- ----
33
+ create config/initializers/sunspot_mongoid.rb,
34
+
35
+ Sunspot.session = Sunspot::Rails.build_session
36
+ ActionController::Base.module_eval { include(Sunspot::Rails::RequestLifecycle) }
37
+
38
+ ### as plugin:
49
39
 
50
40
  add gems to Gemfile as following,
51
41
 
@@ -56,6 +46,12 @@ and install sunspot_mongoid as rails plugin,
56
46
 
57
47
  rails plugin install git://github.com/jugyo/sunspot_mongoid.git
58
48
 
49
+ Links
50
+ ----
51
+
52
+ * [sunspot](http://github.com/outoftime/sunspot)
53
+ * [sunspot_rails](http://github.com/outoftime/sunspot/tree/master/sunspot_rails/)
54
+
59
55
  Copyright
60
56
  ----
61
57
 
data/Rakefile CHANGED
@@ -14,6 +14,7 @@ begin
14
14
  gem.add_runtime_dependency "sunspot", ">= 1.1.0"
15
15
  gem.add_runtime_dependency "sunspot_rails", ">= 1.1.0"
16
16
  gem.add_development_dependency "shoulda", ">= 0"
17
+ gem.add_development_dependency "rr", ">= 0"
17
18
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
18
19
  end
19
20
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -1,10 +1,19 @@
1
+ require 'sunspot'
1
2
  require 'mongoid'
2
- require 'sunspot/rails/searchable'
3
+ require 'sunspot/rails'
3
4
 
4
- # This code is modified for mongoid from the follow,
5
- # http://github.com/outoftime/sunspot/blob/master/sunspot_rails/lib/sunspot/rails/searchable.rb
5
+ # == Examples:
6
+ #
7
+ # class Post
8
+ # include Mongoid::Document
9
+ # field :title
10
+ #
11
+ # include Sunspot::Mongoid
12
+ # searchable do
13
+ # text :title
14
+ # end
15
+ # end
6
16
  #
7
- # Sunspot::Rails is distributed under the MIT License, copyright © 2009 Mat Brown
8
17
  module Sunspot
9
18
  module Mongoid
10
19
  def self.included(base)
@@ -15,25 +24,29 @@ module Sunspot
15
24
  extend Sunspot::Rails::Searchable::ClassMethods
16
25
  include Sunspot::Rails::Searchable::InstanceMethods
17
26
 
18
- def self.searchable(options = {}, &block)
19
- Sunspot.setup(self, &block)
27
+ extend Sunspot::Mongoid::ClassMethods
28
+ end
29
+ end
20
30
 
21
- class_inheritable_hash :sunspot_options
31
+ module ClassMethods
32
+ def searchable(options = {}, &block)
33
+ Sunspot.setup(self, &block)
22
34
 
23
- unless options[:auto_index] == false
24
- before_save :maybe_mark_for_auto_indexing
25
- after_save :maybe_auto_index
26
- end
35
+ class_inheritable_hash :sunspot_options
27
36
 
28
- unless options[:auto_remove] == false
29
- after_destroy do |searchable|
30
- searchable.remove_from_index
31
- end
32
- end
33
- options[:include] = Sunspot::Util::Array(options[:include])
37
+ unless options[:auto_index] == false
38
+ before_save :maybe_mark_for_auto_indexing
39
+ after_save :maybe_auto_index
40
+ end
34
41
 
35
- self.sunspot_options = options
42
+ unless options[:auto_remove] == false
43
+ after_destroy do |searchable|
44
+ searchable.remove_from_index
45
+ end
36
46
  end
47
+ options[:include] = Sunspot::Util::Array(options[:include])
48
+
49
+ self.sunspot_options = options
37
50
  end
38
51
  end
39
52
 
@@ -1,2 +1 @@
1
- require 'sunspot'
2
1
  require 'sunspot/mongoid'
data/rails/init.rb CHANGED
@@ -1,3 +1,3 @@
1
- require 'sunspot/rails'
1
+ require 'sunspot_mongoid'
2
2
  Sunspot.session = Sunspot::Rails.build_session
3
3
  ActionController::Base.module_eval { include(Sunspot::Rails::RequestLifecycle) }
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sunspot_mongoid
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 19
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
- - 2
8
+ - 3
8
9
  - 0
9
- version: 0.2.0
10
+ version: 0.3.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - jugyo
@@ -14,16 +15,18 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-07-05 00:00:00 +09:00
18
+ date: 2010-07-06 00:00:00 +09:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: mongoid
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 3
27
30
  segments:
28
31
  - 0
29
32
  version: "0"
@@ -33,9 +36,11 @@ dependencies:
33
36
  name: sunspot
34
37
  prerelease: false
35
38
  requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
36
40
  requirements:
37
41
  - - ">="
38
42
  - !ruby/object:Gem::Version
43
+ hash: 19
39
44
  segments:
40
45
  - 1
41
46
  - 1
@@ -47,9 +52,11 @@ dependencies:
47
52
  name: sunspot_rails
48
53
  prerelease: false
49
54
  requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
50
56
  requirements:
51
57
  - - ">="
52
58
  - !ruby/object:Gem::Version
59
+ hash: 19
53
60
  segments:
54
61
  - 1
55
62
  - 1
@@ -61,14 +68,30 @@ dependencies:
61
68
  name: shoulda
62
69
  prerelease: false
63
70
  requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
64
72
  requirements:
65
73
  - - ">="
66
74
  - !ruby/object:Gem::Version
75
+ hash: 3
67
76
  segments:
68
77
  - 0
69
78
  version: "0"
70
79
  type: :development
71
80
  version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ name: rr
83
+ prerelease: false
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ hash: 3
90
+ segments:
91
+ - 0
92
+ version: "0"
93
+ type: :development
94
+ version_requirements: *id005
72
95
  description: A Sunspot wrapper for Mongoid that is like sunspot_rails.
73
96
  email: jugyo.org@gmail.com
74
97
  executables: []
@@ -101,23 +124,27 @@ rdoc_options:
101
124
  require_paths:
102
125
  - lib
103
126
  required_ruby_version: !ruby/object:Gem::Requirement
127
+ none: false
104
128
  requirements:
105
129
  - - ">="
106
130
  - !ruby/object:Gem::Version
131
+ hash: 3
107
132
  segments:
108
133
  - 0
109
134
  version: "0"
110
135
  required_rubygems_version: !ruby/object:Gem::Requirement
136
+ none: false
111
137
  requirements:
112
138
  - - ">="
113
139
  - !ruby/object:Gem::Version
140
+ hash: 3
114
141
  segments:
115
142
  - 0
116
143
  version: "0"
117
144
  requirements: []
118
145
 
119
146
  rubyforge_project:
120
- rubygems_version: 1.3.6
147
+ rubygems_version: 1.3.7
121
148
  signing_key:
122
149
  specification_version: 3
123
150
  summary: A Sunspot wrapper for Mongoid.