searchify 1.0.0 → 1.0.1
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 +3 -3
- data/app/helpers/searchify/searchify_helper.rb +14 -2
- data/lib/searchify/version.rb +1 -1
- metadata +45 -74
data/README.md
CHANGED
@@ -107,7 +107,7 @@ You can always override the defaults with an initializer. Options are as follow:
|
|
107
107
|
### Search stategies
|
108
108
|
|
109
109
|
By default, Searchify does a case insensitive search on `name`, `title` and `abbreviation` fields of your models, if they exist.
|
110
|
-
To override the default search strategy, just define a class method named `search_strategy` in your model. It should accepts two arguments and returns an array of
|
110
|
+
To override the default search strategy, just define a class method named `search_strategy` in your model. It should accepts two arguments and returns an array of hashes.
|
111
111
|
|
112
112
|
class User < ActiveRecord::Base
|
113
113
|
def self.search_strategy(term, scopes)
|
@@ -120,7 +120,7 @@ To override the default search strategy, just define a class method named `searc
|
|
120
120
|
end
|
121
121
|
|
122
122
|
scoped.map do |user|
|
123
|
-
{:label => user.username, :id =>
|
123
|
+
{:label => user.username, :id => user.id}
|
124
124
|
end
|
125
125
|
end
|
126
126
|
end
|
@@ -129,4 +129,4 @@ You may also want to use a per-search search strategy, without affecting the def
|
|
129
129
|
|
130
130
|
<%= searchify :users, :search_strategy => :my_custom_method %>
|
131
131
|
|
132
|
-
Searchify will then try to call your `User.my_custom_method`. It must accepts two arguments, and still return
|
132
|
+
Searchify will then try to call your `User.my_custom_method`. It must accepts two arguments, and still return an array of hashes.
|
@@ -34,7 +34,13 @@ module Searchify
|
|
34
34
|
|
35
35
|
params[:search_strategy] = search_strategy if search_strategy
|
36
36
|
|
37
|
-
url << params.map
|
37
|
+
url << params.map do |k,v|
|
38
|
+
if v.kind_of?(Array)
|
39
|
+
v.map{ |e| "#{k}[]=#{e}" }
|
40
|
+
else
|
41
|
+
"#{k}=#{v}"
|
42
|
+
end
|
43
|
+
end.join('&')
|
38
44
|
end
|
39
45
|
|
40
46
|
def extract_select_url(action)
|
@@ -94,7 +100,13 @@ class ActionView::Helpers::FormBuilder
|
|
94
100
|
url = "#{@template.searchify_path}/search/#{collection}.json?"
|
95
101
|
params[:search_strategy] = search_strategy if search_strategy
|
96
102
|
|
97
|
-
url << params.map
|
103
|
+
url << params.map do |k,v|
|
104
|
+
if v.kind_of?(Array)
|
105
|
+
v.map{ |e| "#{k}[]=#{e}" }
|
106
|
+
else
|
107
|
+
"#{k}=#{v}"
|
108
|
+
end
|
109
|
+
end.join('&')
|
98
110
|
end
|
99
111
|
|
100
112
|
def extract_model_name(field)
|
data/lib/searchify/version.rb
CHANGED
metadata
CHANGED
@@ -1,75 +1,56 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: searchify
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 0
|
9
|
-
- 0
|
10
|
-
version: 1.0.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Christian Blais
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-01-12 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: rails
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &20084300 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
33
22
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: jquery-rails
|
37
23
|
prerelease: false
|
38
|
-
|
24
|
+
version_requirements: *20084300
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: jquery-rails
|
27
|
+
requirement: &20083720 !ruby/object:Gem::Requirement
|
39
28
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
version: "0"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
47
33
|
type: :runtime
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: sqlite3
|
51
34
|
prerelease: false
|
52
|
-
|
35
|
+
version_requirements: *20083720
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: sqlite3
|
38
|
+
requirement: &20083140 !ruby/object:Gem::Requirement
|
53
39
|
none: false
|
54
|
-
requirements:
|
55
|
-
- -
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
segments:
|
59
|
-
- 0
|
60
|
-
version: "0"
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
61
44
|
type: :development
|
62
|
-
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *20083140
|
63
47
|
description: Searchify provides a quick way to search your collections.
|
64
|
-
email:
|
48
|
+
email:
|
65
49
|
- christ.blais@gmail.com
|
66
50
|
executables: []
|
67
|
-
|
68
51
|
extensions: []
|
69
|
-
|
70
52
|
extra_rdoc_files: []
|
71
|
-
|
72
|
-
files:
|
53
|
+
files:
|
73
54
|
- app/helpers/searchify/searchify_helper.rb
|
74
55
|
- app/assets/javascripts/searchify/searchify.js
|
75
56
|
- app/controllers/searchify/searchify_controller.rb
|
@@ -115,41 +96,31 @@ files:
|
|
115
96
|
- test/dummy/public/404.html
|
116
97
|
- test/dummy/public/422.html
|
117
98
|
- test/unit/helpers/searchify/searchify_helper_test.rb
|
118
|
-
has_rdoc: true
|
119
99
|
homepage: http://github.com/christianblais/searchify
|
120
100
|
licenses: []
|
121
|
-
|
122
101
|
post_install_message:
|
123
102
|
rdoc_options: []
|
124
|
-
|
125
|
-
require_paths:
|
103
|
+
require_paths:
|
126
104
|
- lib
|
127
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
128
106
|
none: false
|
129
|
-
requirements:
|
130
|
-
- -
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
|
133
|
-
|
134
|
-
- 0
|
135
|
-
version: "0"
|
136
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
112
|
none: false
|
138
|
-
requirements:
|
139
|
-
- -
|
140
|
-
- !ruby/object:Gem::Version
|
141
|
-
|
142
|
-
segments:
|
143
|
-
- 0
|
144
|
-
version: "0"
|
113
|
+
requirements:
|
114
|
+
- - ! '>='
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
145
117
|
requirements: []
|
146
|
-
|
147
118
|
rubyforge_project:
|
148
|
-
rubygems_version: 1.
|
119
|
+
rubygems_version: 1.8.10
|
149
120
|
signing_key:
|
150
121
|
specification_version: 3
|
151
122
|
summary: Search with ease!
|
152
|
-
test_files:
|
123
|
+
test_files:
|
153
124
|
- test/test_helper.rb
|
154
125
|
- test/searchify_test.rb
|
155
126
|
- test/integration/navigation_test.rb
|