active_search 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +16 -13
- data/lib/active_search/is_searchable.rb +2 -2
- data/lib/active_search/search_helper.rb +1 -1
- data/lib/active_search/version.rb +1 -1
- metadata +38 -20
- checksums.yaml +0 -7
data/README.md
CHANGED
@@ -1,51 +1,54 @@
|
|
1
1
|
## ActiveSearch
|
2
2
|
#### By zachmokahn
|
3
3
|
|
4
|
-
This gem is
|
4
|
+
This gem is simple, I'm hoping to add more to it as idea's come along. Please report any and all bugs, as well as any or all desired features. I'd love to make this better, or for you to make it better. Fork it, make pull requests, give me feedback. THANKS!
|
5
5
|
|
6
6
|
#### What does it do?
|
7
7
|
|
8
|
-
ActiveSearch adds some methods to ActiveRecord::Base Objects
|
8
|
+
ActiveSearch adds some handy methods to ActiveRecord::Base Objects
|
9
9
|
|
10
10
|
|
11
11
|
```
|
12
12
|
#is_searchable?
|
13
13
|
#searchable?
|
14
14
|
```
|
15
|
-
```is_searchable?``` and it's alias
|
15
|
+
```is_searchable?``` ( and it's alias ```searchable?``` ) detect whether or not a class that inherits from ActiveRecord::Base is searchable. By default when called on a class inheriting from ActiveRecord::Base it will return false.
|
16
16
|
|
17
17
|
|
18
18
|
```
|
19
19
|
#searchable_by(:parameters)
|
20
20
|
#findable_by(:parameters)
|
21
21
|
```
|
22
|
-
By adding ```searchable_by``` or it's alias ```findable_by``` to a class inheriting
|
23
|
-
When
|
22
|
+
By adding ```searchable_by``` ( or it's alias ```findable_by``` ) to a class inheriting from ActiveRecord::Base it will become searchable by the provided parameters that correspond to those columns in the database.
|
23
|
+
When ```#searchable?``` is called on a class that includes ```searchable_by``` it will return true.
|
24
24
|
|
25
25
|
|
26
26
|
```
|
27
27
|
#find_by_value("value")
|
28
28
|
#search_for("value")
|
29
29
|
```
|
30
|
-
By calling ```find_by_value``` or it's alias ```search_for``` on a
|
30
|
+
By calling ```find_by_value``` ( or it's alias ```search_for``` ) on a Class where ```is_searchable? == true``` it checks all the searchable parameters of that Class for a match. This method will make partial matches and is case insensitive.
|
31
31
|
|
32
32
|
|
33
33
|
```
|
34
34
|
#find_by_value("value", "association")
|
35
35
|
#search_for("value", "association")
|
36
36
|
```
|
37
|
-
|
37
|
+
When this method is called on an instance of a Class it require an association. It then check against a collection of the ActiveRecord::Associations for where the searchable parameters match.
|
38
38
|
|
39
39
|
|
40
40
|
#### How the Heck do you use this?
|
41
41
|
1. Install the Gem
|
42
42
|
|
43
|
-
```ruby
|
44
|
-
gem install searchable
|
45
43
|
```
|
46
|
-
|
44
|
+
$ gem install active_search
|
45
|
+
```
|
46
|
+
or Require it in your Gemfile and bundle
|
47
47
|
```ruby
|
48
|
-
gem '
|
48
|
+
gem 'active_search'
|
49
|
+
```
|
50
|
+
```
|
51
|
+
$ bundle install
|
49
52
|
```
|
50
53
|
2. Make a class searchable
|
51
54
|
|
@@ -64,6 +67,6 @@ or Require it in your Gemfile
|
|
64
67
|
===
|
65
68
|
|
66
69
|
##### Are you sure it works?
|
67
|
-
I test drove this whole development, so everything included works.
|
70
|
+
I test drove this whole development, so everything included works. (However there isn't much too it.... yet)
|
68
71
|
<img align="center" src="img/tests.png" />
|
69
|
-
Is it perfect? No.
|
72
|
+
Is it perfect? No. So you beta give me a break.
|
@@ -8,10 +8,10 @@ module ActiveSearch
|
|
8
8
|
end
|
9
9
|
alias searchable? is_searchable?
|
10
10
|
|
11
|
-
def find_by_value(value
|
11
|
+
def find_by_value(value)
|
12
12
|
values = []
|
13
13
|
@searchable_values.each do |search|
|
14
|
-
values <<
|
14
|
+
values << self.where("#{search} LIKE ?", "%#{value}%")
|
15
15
|
end
|
16
16
|
values.flatten
|
17
17
|
end
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_search
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Zachary J. Davy
|
@@ -13,20 +14,23 @@ dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: activerecord
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- - '>='
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- - '>='
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: bundler
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,85 +46,97 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rspec
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
|
-
- - '>='
|
51
|
+
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '0'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
|
-
- - '>='
|
59
|
+
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: rake
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
|
-
- - '>='
|
67
|
+
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: '0'
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
|
-
- - '>='
|
75
|
+
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: '0'
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: coveralls
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
|
-
- - '>='
|
83
|
+
- - ! '>='
|
74
84
|
- !ruby/object:Gem::Version
|
75
85
|
version: '0'
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
|
-
- - '>='
|
91
|
+
- - ! '>='
|
81
92
|
- !ruby/object:Gem::Version
|
82
93
|
version: '0'
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: sqlite3
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
|
-
- - '>='
|
99
|
+
- - ! '>='
|
88
100
|
- !ruby/object:Gem::Version
|
89
101
|
version: '0'
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
|
-
- - '>='
|
107
|
+
- - ! '>='
|
95
108
|
- !ruby/object:Gem::Version
|
96
109
|
version: '0'
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: guard
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
|
-
- - '>='
|
115
|
+
- - ! '>='
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '0'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
|
-
- - '>='
|
123
|
+
- - ! '>='
|
109
124
|
- !ruby/object:Gem::Version
|
110
125
|
version: '0'
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: guard-rspec
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
|
-
- - '>='
|
131
|
+
- - ! '>='
|
116
132
|
- !ruby/object:Gem::Version
|
117
133
|
version: '0'
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
|
-
- - '>='
|
139
|
+
- - ! '>='
|
123
140
|
- !ruby/object:Gem::Version
|
124
141
|
version: '0'
|
125
142
|
description: ActiveSearch will allow any model to be 'searched for' in a text field
|
@@ -149,26 +166,27 @@ files:
|
|
149
166
|
homepage: http://github.com/zachmokahn/active_search
|
150
167
|
licenses:
|
151
168
|
- MIT
|
152
|
-
metadata: {}
|
153
169
|
post_install_message:
|
154
170
|
rdoc_options: []
|
155
171
|
require_paths:
|
156
172
|
- lib
|
157
173
|
required_ruby_version: !ruby/object:Gem::Requirement
|
174
|
+
none: false
|
158
175
|
requirements:
|
159
|
-
- - '>='
|
176
|
+
- - ! '>='
|
160
177
|
- !ruby/object:Gem::Version
|
161
178
|
version: '0'
|
162
179
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
180
|
+
none: false
|
163
181
|
requirements:
|
164
|
-
- - '>='
|
182
|
+
- - ! '>='
|
165
183
|
- !ruby/object:Gem::Version
|
166
184
|
version: '0'
|
167
185
|
requirements: []
|
168
186
|
rubyforge_project:
|
169
|
-
rubygems_version:
|
187
|
+
rubygems_version: 1.8.25
|
170
188
|
signing_key:
|
171
|
-
specification_version:
|
189
|
+
specification_version: 3
|
172
190
|
summary: Easily make items searchable inside of your app
|
173
191
|
test_files:
|
174
192
|
- spec/lib/active_search_spec.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: d62e32ef5213c4e135d0d4bb69d3b4ac0bdc504c
|
4
|
-
data.tar.gz: b9abf6b9ff1bc7bff9bf05faa1f85c513e49879c
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 2eec8c4ab05cddbc04f7c197e12551e14f2f67acab4bfd3f75b2f3b5737fc5baec62892f8284418615de24839d5ac81c605ed5ac4c35e524153d4adde26e6b19
|
7
|
-
data.tar.gz: da6c5d1b53f994ebdb67a97f05f9e9c5da411b8ecc740351dc1a1a81d0c73e7b4ff3ea6a44925a7cf9bad3f927ebb534bc22c38331076770d3ac09d7a4df486f
|