ransacker_translator 0.1.0 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ca09ecfe48e71a0668ffd2c3572252535149c05f24f8dfff32e5784cd9a4b08b
4
- data.tar.gz: 17986f390a7752a53826b4b58ce2a06f28adc76fe0d1127874bc4a953bb48c48
3
+ metadata.gz: 4142dadc90a0239e95cc7d735d0818fa4e15c3cf6e728c9a88e47b9f544b478e
4
+ data.tar.gz: 2f9a21baf16f9cdca2ad5486f6e729df5ed8458ee3a1f0846c0a8c21901bd03a
5
5
  SHA512:
6
- metadata.gz: 575f351d5b9cc5083a2cb4672fd0a958c131cf23297759fe884c46f83809b3c6d4101b1852875ee404d9fe2224c670516872d6adfde7e279bde3ba3aff6e294d
7
- data.tar.gz: 3941a934f674d3be5a077b37052ac182b49dec1f23b6cae52617123bc36d9743ed1e2173f4b48be894e93eb79d4b55c7891d769e0ccc96c7acad82ccaa34a8c3
6
+ metadata.gz: ceb6b75ed939e5befbe57942194b1332929685d126283cdeda65089d554d49b0505c0d945e5326893f650a98a045a9bbd1bb1cd58cd855e2b3ecedacc4086aeb
7
+ data.tar.gz: 2bc87dff591366cd75020989e97b653a24307d4de61e0b41bd384bd53c3e3909d9e964c8a790783f60efdfefe5bb70792b9727d3445967396178ea577df84eef
data/Rakefile CHANGED
@@ -1,6 +1,12 @@
1
1
  require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
2
+ require 'rake/testtask'
3
3
 
4
- RSpec::Core::RakeTask.new(:spec)
4
+ task :default => [:test]
5
5
 
6
- task :default => :spec
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
- def format_ransack_params
6
- if params[:q].present?
7
- params[:q].keys.each do |key|
8
- if key =~ /_all\z/ || key =~ /_any\z/
9
- params[:q][key] = params[:q][key].split(' ') if params[:q][key].instance_of? String
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,3 +1,3 @@
1
1
  module RansackerTranslator
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -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
- if params[:q].present? && params[:q][key].present?
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.0
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: 2020-07-05 00:00:00.000000000 Z
11
+ date: 2021-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
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: ransack
34
+ name: activesupport
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - ">="
32
38
  - !ruby/object:Gem::Version
33
- version: '0'
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: '0'
49
+ version: 5.0.0
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: 7.1.0
41
53
  - !ruby/object:Gem::Dependency
42
- name: pg
54
+ name: actionview
43
55
  requirement: !ruby/object:Gem::Requirement
44
56
  requirements:
45
57
  - - ">="
46
58
  - !ruby/object:Gem::Version
47
- version: '0'
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: '0'
69
+ version: 5.0.0
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: 7.1.0
55
73
  - !ruby/object:Gem::Dependency
56
- name: rspec-rails
74
+ name: railties
57
75
  requirement: !ruby/object:Gem::Requirement
58
76
  requirements:
59
- - - "~>"
77
+ - - ">="
60
78
  - !ruby/object:Gem::Version
61
- version: '3.0'
62
- type: :development
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: '3.0'
92
+ version: 7.1.0
69
93
  - !ruby/object:Gem::Dependency
70
- name: combustion
94
+ name: ransack
71
95
  requirement: !ruby/object:Gem::Requirement
72
96
  requirements:
73
- - - "~>"
97
+ - - ">="
74
98
  - !ruby/object:Gem::Version
75
- version: '1.3'
76
- type: :development
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: '1.3'
106
+ version: '0'
83
107
  - !ruby/object:Gem::Dependency
84
- name: pry
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: :development
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: database_cleaner
122
+ name: pry
99
123
  requirement: !ruby/object:Gem::Requirement
100
124
  requirements:
101
125
  - - "~>"
102
126
  - !ruby/object:Gem::Version
103
- version: '1.7'
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: '1.7'
134
+ version: '0.14'
111
135
  - !ruby/object:Gem::Dependency
112
- name: rspec_junit_formatter
136
+ name: database_cleaner
113
137
  requirement: !ruby/object:Gem::Requirement
114
138
  requirements:
115
139
  - - "~>"
116
140
  - !ruby/object:Gem::Version
117
- version: 0.4.1
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: 0.4.1
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: '0'
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.2
183
+ rubygems_version: 3.0.3.1
160
184
  signing_key:
161
185
  specification_version: 4
162
186
  summary: expand search by ransack