sunspot_mongoid 0.2.0 → 0.3.0

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/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.