active_scaffold-sequel 0.6.0 → 0.6.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.
@@ -1,6 +1,7 @@
|
|
1
1
|
module ActiveScaffold::Actions
|
2
2
|
module Search
|
3
3
|
include ActiveScaffold::Actions::CommonSearch
|
4
|
+
|
4
5
|
def self.included(base)
|
5
6
|
base.before_filter :search_authorized_filter, :only => :show_search
|
6
7
|
base.before_filter :store_search_params_into_session, :only => [:index]
|
@@ -13,14 +14,17 @@ module ActiveScaffold::Actions
|
|
13
14
|
end
|
14
15
|
|
15
16
|
protected
|
17
|
+
|
16
18
|
def search_respond_to_html
|
17
19
|
render(:action => "search")
|
18
20
|
end
|
21
|
+
|
19
22
|
def search_respond_to_js
|
20
23
|
render(:partial => "search")
|
21
24
|
end
|
25
|
+
|
22
26
|
def do_search
|
23
|
-
query = search_params.to_s
|
27
|
+
query = search_params.to_s
|
24
28
|
unless query.empty?
|
25
29
|
columns = active_scaffold_config.search.columns
|
26
30
|
text_search = active_scaffold_config.search.text_search
|
@@ -37,10 +41,12 @@ module ActiveScaffold::Actions
|
|
37
41
|
end
|
38
42
|
|
39
43
|
private
|
44
|
+
|
40
45
|
def search_authorized_filter
|
41
46
|
link = active_scaffold_config.search.link || active_scaffold_config.search.class.link
|
42
47
|
raise ActiveScaffold::ActionNotAllowed unless self.send(link.security_method)
|
43
48
|
end
|
49
|
+
|
44
50
|
def search_formats
|
45
51
|
(default_formats + active_scaffold_config.formats + active_scaffold_config.search.formats).uniq
|
46
52
|
end
|
@@ -9,9 +9,13 @@ module ActiveScaffold
|
|
9
9
|
return unless columns.length > 0
|
10
10
|
like_pattern = like_pattern(text_search)
|
11
11
|
tokens = [tokens] if tokens.is_a? String
|
12
|
-
obj = active_scaffold_config.model.new # for typecasting purposes
|
13
12
|
|
14
|
-
|
13
|
+
# for typecasting purposes
|
14
|
+
obj = active_scaffold_config.model.new
|
15
|
+
orig_raise_on_typecast_failure = active_scaffold_config.model.raise_on_typecast_failure
|
16
|
+
active_scaffold_config.model.raise_on_typecast_failure = true
|
17
|
+
|
18
|
+
result = tokens.collect do |token|
|
15
19
|
pattern = like_pattern.sub('?', token)
|
16
20
|
columns.collect do |column|
|
17
21
|
if column.column.nil? or column.column[:type] == :string
|
@@ -24,6 +28,11 @@ module ActiveScaffold
|
|
24
28
|
end
|
25
29
|
end.compact.inject {|a,b| (a | b)}
|
26
30
|
end.inject {|a,b| (a & b)}
|
31
|
+
|
32
|
+
# restore original setting
|
33
|
+
active_scaffold_config.model.raise_on_typecast_failure = orig_raise_on_typecast_failure
|
34
|
+
|
35
|
+
result
|
27
36
|
end
|
28
37
|
|
29
38
|
# Generates an SQL condition for the given ActiveScaffold column based on
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_scaffold-sequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-08-
|
12
|
+
date: 2013-08-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shoulda
|