search_magic 0.0.7 → 0.0.8
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/Gemfile.lock +4 -5
- data/lib/search_magic/full_text_search.rb +3 -2
- data/lib/search_magic/version.rb +1 -1
- data/search_magic.gemspec +1 -1
- data/spec/models/absolutely_not_searchable.rb +5 -0
- data/spec/models/is_searchable.rb +8 -0
- data/spec/unit/search_magic/model_updates_spec.rb +12 -0
- metadata +9 -25
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
search_magic (0.0.
|
5
|
-
mongoid (>= 2.0.0
|
4
|
+
search_magic (0.0.8)
|
5
|
+
mongoid (>= 2.0.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: http://rubygems.org/
|
@@ -20,7 +20,7 @@ GEM
|
|
20
20
|
i18n (0.5.0)
|
21
21
|
mongo (1.2.4)
|
22
22
|
bson (>= 1.2.4)
|
23
|
-
mongoid (2.0.0
|
23
|
+
mongoid (2.0.0)
|
24
24
|
activemodel (~> 3.0)
|
25
25
|
mongo (~> 1.2)
|
26
26
|
tzinfo (~> 0.3.22)
|
@@ -33,7 +33,7 @@ GEM
|
|
33
33
|
rspec-expectations (2.5.0)
|
34
34
|
diff-lcs (~> 1.1.2)
|
35
35
|
rspec-mocks (2.5.0)
|
36
|
-
tzinfo (0.3.
|
36
|
+
tzinfo (0.3.26)
|
37
37
|
will_paginate (3.0.pre2)
|
38
38
|
|
39
39
|
PLATFORMS
|
@@ -42,6 +42,5 @@ PLATFORMS
|
|
42
42
|
DEPENDENCIES
|
43
43
|
bson_ext
|
44
44
|
database_cleaner
|
45
|
-
mongoid (>= 2.0.0.rc.8)
|
46
45
|
rspec
|
47
46
|
search_magic!
|
@@ -23,8 +23,9 @@ module SearchMagic
|
|
23
23
|
|
24
24
|
def inverse_searchables
|
25
25
|
@inverse_searchables ||= relations.values.
|
26
|
-
|
27
|
-
|
26
|
+
map {|metadata| [metadata, metadata.class_name.constantize] }.
|
27
|
+
select {|metadata, klass| klass < SearchMagic::FullTextSearch && klass.searchable_fields.keys.include?(metadata.inverse_setter.chomp("=").to_sym)}.
|
28
|
+
map(&:first).map(&:name)
|
28
29
|
end
|
29
30
|
|
30
31
|
def search_for(pattern)
|
data/lib/search_magic/version.rb
CHANGED
data/search_magic.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.summary = %q{SearchMagic provides scoped full text search and sort capabilities to Mongoid documents}
|
13
13
|
s.description = %q{Adds scopes to a Mongoid document providing search and sort capabilities on arbitrary fields and associations.}
|
14
14
|
|
15
|
-
s.add_dependency("mongoid", ">= 2.0.0
|
15
|
+
s.add_dependency("mongoid", ">= 2.0.0")
|
16
16
|
s.add_development_dependency("rspec")
|
17
17
|
s.add_development_dependency("database_cleaner")
|
18
18
|
s.add_development_dependency("bson_ext")
|
@@ -21,6 +21,18 @@ describe SearchMagic::FullTextSearch do
|
|
21
21
|
its(:inverse_searchables) { should include(:person) }
|
22
22
|
end
|
23
23
|
|
24
|
+
context "when included in a document which searches on another, but is not searched on by another" do
|
25
|
+
subject { Part }
|
26
|
+
it { should respond_to(:inverse_searchables) }
|
27
|
+
its(:inverse_searchables) { should be_a(Array) }
|
28
|
+
its(:inverse_searchables) { should be_blank }
|
29
|
+
end
|
30
|
+
|
31
|
+
context "when included in a document which references a non-searchable document" do
|
32
|
+
subject { IsSearchable }
|
33
|
+
it { expect { subject.inverse_searchables }.to_not raise_error }
|
34
|
+
end
|
35
|
+
|
24
36
|
context "when included in a document with referenced searchables" do
|
25
37
|
subject { PartNumber }
|
26
38
|
it { should respond_to(:inverse_searchables) }
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: search_magic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 0
|
8
|
-
- 7
|
9
|
-
version: 0.0.7
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.8
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Joshua Bowers
|
@@ -14,7 +10,7 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date: 2011-03
|
13
|
+
date: 2011-04-03 00:00:00 -07:00
|
18
14
|
default_executable:
|
19
15
|
dependencies:
|
20
16
|
- !ruby/object:Gem::Dependency
|
@@ -25,13 +21,7 @@ dependencies:
|
|
25
21
|
requirements:
|
26
22
|
- - ">="
|
27
23
|
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
- 2
|
30
|
-
- 0
|
31
|
-
- 0
|
32
|
-
- rc
|
33
|
-
- 8
|
34
|
-
version: 2.0.0.rc.8
|
24
|
+
version: 2.0.0
|
35
25
|
type: :runtime
|
36
26
|
version_requirements: *id001
|
37
27
|
- !ruby/object:Gem::Dependency
|
@@ -42,8 +32,6 @@ dependencies:
|
|
42
32
|
requirements:
|
43
33
|
- - ">="
|
44
34
|
- !ruby/object:Gem::Version
|
45
|
-
segments:
|
46
|
-
- 0
|
47
35
|
version: "0"
|
48
36
|
type: :development
|
49
37
|
version_requirements: *id002
|
@@ -55,8 +43,6 @@ dependencies:
|
|
55
43
|
requirements:
|
56
44
|
- - ">="
|
57
45
|
- !ruby/object:Gem::Version
|
58
|
-
segments:
|
59
|
-
- 0
|
60
46
|
version: "0"
|
61
47
|
type: :development
|
62
48
|
version_requirements: *id003
|
@@ -68,8 +54,6 @@ dependencies:
|
|
68
54
|
requirements:
|
69
55
|
- - ">="
|
70
56
|
- !ruby/object:Gem::Version
|
71
|
-
segments:
|
72
|
-
- 0
|
73
57
|
version: "0"
|
74
58
|
type: :development
|
75
59
|
version_requirements: *id004
|
@@ -93,10 +77,12 @@ files:
|
|
93
77
|
- lib/search_magic/metadata.rb
|
94
78
|
- lib/search_magic/version.rb
|
95
79
|
- search_magic.gemspec
|
80
|
+
- spec/models/absolutely_not_searchable.rb
|
96
81
|
- spec/models/address.rb
|
97
82
|
- spec/models/asset.rb
|
98
83
|
- spec/models/developer.rb
|
99
84
|
- spec/models/game.rb
|
85
|
+
- spec/models/is_searchable.rb
|
100
86
|
- spec/models/no_searchables.rb
|
101
87
|
- spec/models/part.rb
|
102
88
|
- spec/models/part_category.rb
|
@@ -123,29 +109,27 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
123
109
|
requirements:
|
124
110
|
- - ">="
|
125
111
|
- !ruby/object:Gem::Version
|
126
|
-
segments:
|
127
|
-
- 0
|
128
112
|
version: "0"
|
129
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
114
|
none: false
|
131
115
|
requirements:
|
132
116
|
- - ">="
|
133
117
|
- !ruby/object:Gem::Version
|
134
|
-
segments:
|
135
|
-
- 0
|
136
118
|
version: "0"
|
137
119
|
requirements: []
|
138
120
|
|
139
121
|
rubyforge_project: search_magic
|
140
|
-
rubygems_version: 1.
|
122
|
+
rubygems_version: 1.6.2
|
141
123
|
signing_key:
|
142
124
|
specification_version: 3
|
143
125
|
summary: SearchMagic provides scoped full text search and sort capabilities to Mongoid documents
|
144
126
|
test_files:
|
127
|
+
- spec/models/absolutely_not_searchable.rb
|
145
128
|
- spec/models/address.rb
|
146
129
|
- spec/models/asset.rb
|
147
130
|
- spec/models/developer.rb
|
148
131
|
- spec/models/game.rb
|
132
|
+
- spec/models/is_searchable.rb
|
149
133
|
- spec/models/no_searchables.rb
|
150
134
|
- spec/models/part.rb
|
151
135
|
- spec/models/part_category.rb
|