activerecord-search 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +0 -1
- data/README.md +10 -10
- data/activerecord-search.gemspec +4 -3
- data/lib/activerecord/base.rb +3 -3
- data/lib/activerecord/search/version.rb +1 -1
- metadata +26 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: afe363b0134b9dab1fdee6df2cab99c27a2acd7c
|
4
|
+
data.tar.gz: 299a1d6d133d9545cfbf6055881088b01407f4f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcf29864bfda0d17e319b87009aead4718643f80dab2f4f7e0234c070608a4bdd9fee9b1bdfcff40d0b3d03bc5fe04e0e016f62fd0938149fe3748b921113448
|
7
|
+
data.tar.gz: bf61c7fc586b8308e631937c52884f3ca4ab4f3f1013c50cad67290111263f79180c75f4678e35fcee1d1cbecb21c0796a968a001c07adc0775a1faf335b3fde
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -20,7 +20,7 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
This plugin permits, with few lines of code, to have a lightweight and steady ActiveRecord search
|
23
|
+
This plugin permits, with few lines of code, to have a lightweight and steady ActiveRecord search-engine.
|
24
24
|
|
25
25
|
Below is an example of the features offered by this plugin:
|
26
26
|
|
@@ -47,9 +47,9 @@ class PostsController < ApplicationController
|
|
47
47
|
Post.search_post("Ruby", :start_with, [:name, :content]) # It's possible to override the :search_option and :search_field values
|
48
48
|
|
49
49
|
# Some helper method are available
|
50
|
-
Post.start_with("Ruby") # all
|
51
|
-
Post.end_with("Ruby") # all
|
52
|
-
Post.search_anywhere("Ruby") # all
|
50
|
+
Post.start_with("Ruby") # all records that start with 'Ruby'
|
51
|
+
Post.end_with("Ruby") # all records that end with 'Ruby'
|
52
|
+
Post.search_anywhere("Ruby") # all records that search anywhere with 'Ruby'
|
53
53
|
|
54
54
|
end
|
55
55
|
|
@@ -59,15 +59,16 @@ end
|
|
59
59
|
|
60
60
|
## More about the API
|
61
61
|
|
62
|
-
##### search_option method
|
62
|
+
##### search_option method
|
63
63
|
|
64
|
-
`search_option` method specifies where to search in the sentence
|
64
|
+
`search_option` method specifies where to search in the sentence.<br />
|
65
|
+
Available options:
|
65
66
|
|
66
67
|
- `:start_with` : the sentence starts with the pattern.
|
67
68
|
- `:end_with` : the sentence ends with the pattern.
|
68
69
|
- `:anywhere` : search anywhere in the sentence. [DEFAULT OPTION]
|
69
70
|
|
70
|
-
##### search_field method
|
71
|
+
##### search_field method
|
71
72
|
|
72
73
|
`search_field` method specifies which field is used for the search. It's possible to search in multiple fields by using the method `search_fields([])`:
|
73
74
|
|
@@ -102,9 +103,7 @@ Append the model name to this method results from the following question: What i
|
|
102
103
|
|
103
104
|
## Development
|
104
105
|
|
105
|
-
After checking out the repo, run `
|
106
|
-
|
107
|
-
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
106
|
+
After checking out the repo, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
108
107
|
|
109
108
|
## Contributing
|
110
109
|
|
@@ -115,3 +114,4 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/mehdi-
|
|
115
114
|
|
116
115
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
117
116
|
|
117
|
+
> Please, feel free to star the project if you like it ! :)
|
data/activerecord-search.gemspec
CHANGED
@@ -37,9 +37,10 @@ Gem::Specification.new do |spec|
|
|
37
37
|
Many Thanks !
|
38
38
|
EOF
|
39
39
|
|
40
|
-
spec.add_development_dependency "bundler"
|
41
|
-
spec.add_development_dependency "rake"
|
40
|
+
spec.add_development_dependency "bundler", "~> 1.12"
|
41
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
42
|
+
spec.add_development_dependency "minitest", "~> 5.0"
|
42
43
|
spec.add_development_dependency "activerecord"
|
43
44
|
spec.add_development_dependency "sqlite3"
|
44
|
-
spec.add_development_dependency "
|
45
|
+
spec.add_development_dependency "rubocop"
|
45
46
|
end
|
data/lib/activerecord/base.rb
CHANGED
@@ -14,7 +14,7 @@ module ActiveRecord
|
|
14
14
|
super
|
15
15
|
return if subclass.to_s.underscore == "active_record/schema_migration"
|
16
16
|
class_eval <<-EOF
|
17
|
-
class << #{subclass}
|
17
|
+
class << #{subclass}
|
18
18
|
attr_reader :search_option, :search_fields
|
19
19
|
|
20
20
|
def search_#{subclass.to_s.underscore}(words, option = nil, fields = [])
|
@@ -47,7 +47,7 @@ module ActiveRecord
|
|
47
47
|
def search_fields(fields)
|
48
48
|
@search_fields = [fields].flatten
|
49
49
|
end
|
50
|
-
alias_method :search_field, :search_fields
|
50
|
+
alias_method :search_field, :search_fields
|
51
51
|
|
52
52
|
def format_search(words, option)
|
53
53
|
if !option.nil?
|
@@ -61,7 +61,7 @@ module ActiveRecord
|
|
61
61
|
def format_with_option(words, option)
|
62
62
|
case option
|
63
63
|
when :start_with then words + '%'
|
64
|
-
when :end_with then '%' + words
|
64
|
+
when :end_with then '%' + words
|
65
65
|
when :anywhere then '%' + words + '%'
|
66
66
|
else
|
67
67
|
raise SearchError
|
metadata
CHANGED
@@ -1,43 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-search
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mehdi FARSI
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.12'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '1.12'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: activerecord
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,7 +81,7 @@ dependencies:
|
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
84
|
+
name: rubocop
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - ">="
|
@@ -125,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
139
|
version: '0'
|
126
140
|
requirements: []
|
127
141
|
rubyforge_project:
|
128
|
-
rubygems_version: 2.
|
142
|
+
rubygems_version: 2.5.1
|
129
143
|
signing_key:
|
130
144
|
specification_version: 4
|
131
145
|
summary: ActiveRecord::Search
|