ransacker_translator 0.1.0 → 0.1.4
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.
- checksums.yaml +4 -4
- data/Rakefile +9 -3
- data/lib/ransacker_translator/controllers/concerns/format_ransack_parameters.rb +8 -6
- data/lib/ransacker_translator/models/concerns/ransacker_translator.rb +6 -0
- data/lib/ransacker_translator/version.rb +1 -1
- data/lib/ransacker_translator/view_helpers/action_view.rb +21 -8
- metadata +57 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4142dadc90a0239e95cc7d735d0818fa4e15c3cf6e728c9a88e47b9f544b478e
|
4
|
+
data.tar.gz: 2f9a21baf16f9cdca2ad5486f6e729df5ed8458ee3a1f0846c0a8c21901bd03a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ceb6b75ed939e5befbe57942194b1332929685d126283cdeda65089d554d49b0505c0d945e5326893f650a98a045a9bbd1bb1cd58cd855e2b3ecedacc4086aeb
|
7
|
+
data.tar.gz: 2bc87dff591366cd75020989e97b653a24307d4de61e0b41bd384bd53c3e3909d9e964c8a790783f60efdfefe5bb70792b9727d3445967396178ea577df84eef
|
data/Rakefile
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
-
require
|
2
|
+
require 'rake/testtask'
|
3
3
|
|
4
|
-
|
4
|
+
task :default => [:test]
|
5
5
|
|
6
|
-
|
6
|
+
Rake::TestTask.new do |test|
|
7
|
+
test.libs << 'lib'
|
8
|
+
test.libs << 'test'
|
9
|
+
test.test_files = Dir['test/**/*_test.rb']
|
10
|
+
test.warning = false
|
11
|
+
# test.verbose = true
|
12
|
+
end
|
@@ -1,15 +1,17 @@
|
|
1
|
+
require 'active_support'
|
2
|
+
|
1
3
|
module RansackerTranslator
|
2
4
|
module FormatRansackParameters
|
3
5
|
extend ActiveSupport::Concern
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
private
|
8
|
+
|
9
|
+
def format_ransack_params
|
10
|
+
params[:q]&.keys&.each do |key|
|
11
|
+
if key.end_with?('_all', '_any') && params.dig(:q, key).instance_of?(String)
|
12
|
+
params[:q][key] = params.dig(:q, key).split(' ')
|
10
13
|
end
|
11
14
|
end
|
12
15
|
end
|
13
|
-
end
|
14
16
|
end
|
15
17
|
end
|
@@ -1,9 +1,15 @@
|
|
1
1
|
require 'nkf'
|
2
|
+
require 'active_support'
|
2
3
|
|
3
4
|
module RansackerTranslator
|
4
5
|
extend ActiveSupport::Concern
|
5
6
|
|
6
7
|
class_methods do
|
8
|
+
|
9
|
+
# 指定したカラムでPostgreSQLのTRANSLATE関数を用いて変換をかけた上で検索を行う設定を行う
|
10
|
+
#
|
11
|
+
# @param [Array<Symbol>] *columns カラム名の配列
|
12
|
+
# @return [Void]
|
7
13
|
def ransacker_translate(*columns)
|
8
14
|
columns.each do |column|
|
9
15
|
ransacker :"#{column}_translate", formatter: proc {|v| NKF.nkf('-w -XZ0', v.mb_chars) } do |parent|
|
@@ -1,22 +1,35 @@
|
|
1
1
|
module RansackerTranslator
|
2
2
|
module ViewHelpers
|
3
3
|
module ActionView
|
4
|
+
|
5
|
+
# paramsの指定したkeyの要素を半角スペースで繋いだ文字列にする
|
6
|
+
#
|
7
|
+
# @param [Symbol] key ransackで使っているキー
|
8
|
+
# @return [String] params[:q][key]を半角スペースでつなげた文字列
|
4
9
|
def ransack_params_array_to_s(key)
|
5
|
-
|
6
|
-
params[:q][key].join(' ')
|
7
|
-
else
|
8
|
-
''
|
9
|
-
end
|
10
|
+
params.dig(:q, key)&.join(' ') || ''
|
10
11
|
end
|
11
|
-
|
12
|
+
|
13
|
+
# ransacker_translatorでOR検索に使うキーを返す
|
14
|
+
#
|
15
|
+
# @param [Array<String>] *columns カラム名の配列
|
16
|
+
# @return [String] ransacker_translatorでOR検索に使うキー
|
12
17
|
def ransack_param_translate_normal_or_key(*columns)
|
13
18
|
"#{columns.join("_translate_or_")}_translate_cont_any"
|
14
19
|
end
|
15
|
-
|
20
|
+
|
21
|
+
# ransacker_translatorでAND検索に使うキーを返す
|
22
|
+
#
|
23
|
+
# @param [Array<String>] *columns カラム名の配列
|
24
|
+
# @return [String] ransacker_translatorでAND検索に使うキー
|
16
25
|
def ransack_param_translate_normal_and_key(*columns)
|
17
26
|
"#{columns.join("_translate_and_")}_translate_cont_any"
|
18
27
|
end
|
19
|
-
|
28
|
+
|
29
|
+
# ransacker_translatorで除外検索に使うキーを返す
|
30
|
+
#
|
31
|
+
# @param [Array<String>] *columns カラム名の配列
|
32
|
+
# @return [String] ransacker_translatorで除外検索に使うキー
|
20
33
|
def ransack_param_translate_ignore_key(*columns)
|
21
34
|
"#{columns.join("_translate_and_")}_translate_not_cont_all"
|
22
35
|
end
|
metadata
CHANGED
@@ -1,22 +1,25 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ransacker_translator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- patorash
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-12-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 5.0.0
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 7.1.0
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,104 +27,125 @@ dependencies:
|
|
24
27
|
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: 5.0.0
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 7.1.0
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
34
|
+
name: activesupport
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - ">="
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
39
|
+
version: 5.0.0
|
40
|
+
- - "<"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 7.1.0
|
34
43
|
type: :runtime
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
47
|
- - ">="
|
39
48
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
49
|
+
version: 5.0.0
|
50
|
+
- - "<"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 7.1.0
|
41
53
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
54
|
+
name: actionview
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
44
56
|
requirements:
|
45
57
|
- - ">="
|
46
58
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
59
|
+
version: 5.0.0
|
60
|
+
- - "<"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 7.1.0
|
48
63
|
type: :runtime
|
49
64
|
prerelease: false
|
50
65
|
version_requirements: !ruby/object:Gem::Requirement
|
51
66
|
requirements:
|
52
67
|
- - ">="
|
53
68
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
69
|
+
version: 5.0.0
|
70
|
+
- - "<"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 7.1.0
|
55
73
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
74
|
+
name: railties
|
57
75
|
requirement: !ruby/object:Gem::Requirement
|
58
76
|
requirements:
|
59
|
-
- - "
|
77
|
+
- - ">="
|
60
78
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
|
79
|
+
version: 5.0.0
|
80
|
+
- - "<"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 7.1.0
|
83
|
+
type: :runtime
|
63
84
|
prerelease: false
|
64
85
|
version_requirements: !ruby/object:Gem::Requirement
|
65
86
|
requirements:
|
66
|
-
- - "
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 5.0.0
|
90
|
+
- - "<"
|
67
91
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
92
|
+
version: 7.1.0
|
69
93
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
94
|
+
name: ransack
|
71
95
|
requirement: !ruby/object:Gem::Requirement
|
72
96
|
requirements:
|
73
|
-
- - "
|
97
|
+
- - ">="
|
74
98
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
76
|
-
type: :
|
99
|
+
version: '0'
|
100
|
+
type: :runtime
|
77
101
|
prerelease: false
|
78
102
|
version_requirements: !ruby/object:Gem::Requirement
|
79
103
|
requirements:
|
80
|
-
- - "
|
104
|
+
- - ">="
|
81
105
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
106
|
+
version: '0'
|
83
107
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
108
|
+
name: pg
|
85
109
|
requirement: !ruby/object:Gem::Requirement
|
86
110
|
requirements:
|
87
|
-
- - "
|
111
|
+
- - ">="
|
88
112
|
- !ruby/object:Gem::Version
|
89
113
|
version: '0'
|
90
|
-
type: :
|
114
|
+
type: :runtime
|
91
115
|
prerelease: false
|
92
116
|
version_requirements: !ruby/object:Gem::Requirement
|
93
117
|
requirements:
|
94
|
-
- - "
|
118
|
+
- - ">="
|
95
119
|
- !ruby/object:Gem::Version
|
96
120
|
version: '0'
|
97
121
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
122
|
+
name: pry
|
99
123
|
requirement: !ruby/object:Gem::Requirement
|
100
124
|
requirements:
|
101
125
|
- - "~>"
|
102
126
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
127
|
+
version: '0.14'
|
104
128
|
type: :development
|
105
129
|
prerelease: false
|
106
130
|
version_requirements: !ruby/object:Gem::Requirement
|
107
131
|
requirements:
|
108
132
|
- - "~>"
|
109
133
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
134
|
+
version: '0.14'
|
111
135
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
136
|
+
name: database_cleaner
|
113
137
|
requirement: !ruby/object:Gem::Requirement
|
114
138
|
requirements:
|
115
139
|
- - "~>"
|
116
140
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
141
|
+
version: '1.7'
|
118
142
|
type: :development
|
119
143
|
prerelease: false
|
120
144
|
version_requirements: !ruby/object:Gem::Requirement
|
121
145
|
requirements:
|
122
146
|
- - "~>"
|
123
147
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
148
|
+
version: '1.7'
|
125
149
|
description: expand search by ransack
|
126
150
|
email:
|
127
151
|
- chariderpato@gmail.com
|
@@ -149,14 +173,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
173
|
requirements:
|
150
174
|
- - ">="
|
151
175
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
176
|
+
version: 2.6.0
|
153
177
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
178
|
requirements:
|
155
179
|
- - ">="
|
156
180
|
- !ruby/object:Gem::Version
|
157
181
|
version: '0'
|
158
182
|
requirements: []
|
159
|
-
rubygems_version: 3.1
|
183
|
+
rubygems_version: 3.0.3.1
|
160
184
|
signing_key:
|
161
185
|
specification_version: 4
|
162
186
|
summary: expand search by ransack
|