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 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