ransacker_translator 0.0.4 → 0.1.3

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
- SHA1:
3
- metadata.gz: bed23fbda662050ad5336f1bd759b5bce18abf62
4
- data.tar.gz: d41bc7f0ad1ff7d7d8ba9133568aa2d0cf47a9c0
2
+ SHA256:
3
+ metadata.gz: 8633aee62921eee8dca30c1ffb78be7283e1c348727d0398041c51918b5281c3
4
+ data.tar.gz: 2eda830220d76a5cfeb063fb4636807564b7a39b24fd001201cb725c2b056f26
5
5
  SHA512:
6
- metadata.gz: c7e12a13c5d4a3872af081d8f558efffada92839a4b8cc7d92e5b033455641d9363dfd7a876dc1155a830cebca1aa87ae20eae9770c2f9c4b1d98aea62bf1cf9
7
- data.tar.gz: b3fd20b6c3c252ed6a0e53e692c55984c75063ec9b7c533226c7d1be4b1f11b507c2c1175b4fac31e091cb3eb4ebdb6708c7829c4245b5c1c2e9d079fcb57d5c
6
+ metadata.gz: 424c6b78251e4dc7136cc3957639a023bd0f0ca1ba15720604eaa5c73a0f1c6b677360f21c888d11baaa167ea93653305e0c8ba77d480707c0a755d3dd159c67
7
+ data.tar.gz: e90f11fda5259f4997bf40343001f1996945e2c607cc6056e8d90d138fd56107d8008228705d9a97738fb5f4d3c00a9f5f222d069ca0729f87ac3a5c01001956
data/Rakefile CHANGED
@@ -1,32 +1,12 @@
1
- begin
2
- require 'bundler/setup'
3
- rescue LoadError
4
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
- end
6
-
7
- # require 'rdoc/task'
8
- #
9
- # RDoc::Task.new(:rdoc) do |rdoc|
10
- # rdoc.rdoc_dir = 'rdoc'
11
- # rdoc.title = 'RansackerTranslator'
12
- # rdoc.options << '--line-numbers'
13
- # rdoc.rdoc_files.include('README.rdoc')
14
- # rdoc.rdoc_files.include('lib/**/*.rb')
15
- # end
16
-
17
-
18
-
19
-
20
- Bundler::GemHelper.install_tasks
21
-
1
+ require "bundler/gem_tasks"
22
2
  require 'rake/testtask'
23
3
 
24
- Rake::TestTask.new(:test) do |t|
25
- t.libs << 'lib'
26
- t.libs << 'test'
27
- t.pattern = 'test/**/*_test.rb'
28
- t.verbose = false
29
- end
4
+ task :default => [:test]
30
5
 
31
-
32
- task default: :test
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
- module ClassMethods
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,12 +1,11 @@
1
1
  require 'rails/railtie'
2
2
  require 'ransacker_translator/models/concerns/ransacker_translator'
3
3
  require 'ransacker_translator/controllers/concerns/format_ransack_parameters'
4
- require 'ransacker_translator/view_helpers'
5
4
 
6
5
  module RansackerTranslator
7
6
  class Railtie < ::Rails::Railtie
8
- initializer "ransacker_translator.view_helpers" do
9
- ActionView::Base.send :include, ViewHelpers
7
+ initializer "ransacker_translator" do
8
+ require 'ransacker_translator/view_helpers/action_view'
10
9
  end
11
10
  end
12
11
  end
@@ -1,3 +1,3 @@
1
1
  module RansackerTranslator
2
- VERSION = "0.0.4"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -0,0 +1,40 @@
1
+ module RansackerTranslator
2
+ module ViewHelpers
3
+ module ActionView
4
+
5
+ # paramsの指定したkeyの要素を半角スペースで繋いだ文字列にする
6
+ #
7
+ # @param [Symbol] key ransackで使っているキー
8
+ # @return [String] params[:q][key]を半角スペースでつなげた文字列
9
+ def ransack_params_array_to_s(key)
10
+ params.dig(:q, key)&.join(' ') || ''
11
+ end
12
+
13
+ # ransacker_translatorでOR検索に使うキーを返す
14
+ #
15
+ # @param [Array<String>] *columns カラム名の配列
16
+ # @return [String] ransacker_translatorでOR検索に使うキー
17
+ def ransack_param_translate_normal_or_key(*columns)
18
+ "#{columns.join("_translate_or_")}_translate_cont_any"
19
+ end
20
+
21
+ # ransacker_translatorでAND検索に使うキーを返す
22
+ #
23
+ # @param [Array<String>] *columns カラム名の配列
24
+ # @return [String] ransacker_translatorでAND検索に使うキー
25
+ def ransack_param_translate_normal_and_key(*columns)
26
+ "#{columns.join("_translate_and_")}_translate_cont_any"
27
+ end
28
+
29
+ # ransacker_translatorで除外検索に使うキーを返す
30
+ #
31
+ # @param [Array<String>] *columns カラム名の配列
32
+ # @return [String] ransacker_translatorで除外検索に使うキー
33
+ def ransack_param_translate_ignore_key(*columns)
34
+ "#{columns.join("_translate_and_")}_translate_not_cont_all"
35
+ end
36
+
37
+ ::ActionView::Base.send :include, self
38
+ end
39
+ end
40
+ end
@@ -1 +1,4 @@
1
- require 'ransacker_translator/railtie' if defined? Rails
1
+ require 'ransacker_translator/version'
2
+ require 'ransacker_translator/railtie'
3
+ module RansackerTranslator
4
+ end
metadata CHANGED
@@ -1,29 +1,95 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ransacker_translator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
- - Toyoaki Oko
7
+ - patorash
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-05 00:00:00.000000000 Z
11
+ date: 2021-12-23 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
- version: 4.0.0
19
+ version: 5.0.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 7.1.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 5.0.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 7.1.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: activesupport
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 5.0.0
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: 7.1.0
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 5.0.0
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: 7.1.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: actionview
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 5.0.0
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: 7.1.0
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 5.0.0
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: 7.1.0
73
+ - !ruby/object:Gem::Dependency
74
+ name: railties
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: 5.0.0
80
+ - - "<"
81
+ - !ruby/object:Gem::Version
82
+ version: 7.1.0
20
83
  type: :runtime
21
84
  prerelease: false
22
85
  version_requirements: !ruby/object:Gem::Requirement
23
86
  requirements:
24
87
  - - ">="
25
88
  - !ruby/object:Gem::Version
26
- version: 4.0.0
89
+ version: 5.0.0
90
+ - - "<"
91
+ - !ruby/object:Gem::Version
92
+ version: 7.1.0
27
93
  - !ruby/object:Gem::Dependency
28
94
  name: ransack
29
95
  requirement: !ruby/object:Gem::Requirement
@@ -39,19 +105,47 @@ dependencies:
39
105
  - !ruby/object:Gem::Version
40
106
  version: '0'
41
107
  - !ruby/object:Gem::Dependency
42
- name: sqlite3
108
+ name: pg
43
109
  requirement: !ruby/object:Gem::Requirement
44
110
  requirements:
45
111
  - - ">="
46
112
  - !ruby/object:Gem::Version
47
113
  version: '0'
48
- type: :development
114
+ type: :runtime
49
115
  prerelease: false
50
116
  version_requirements: !ruby/object:Gem::Requirement
51
117
  requirements:
52
118
  - - ">="
53
119
  - !ruby/object:Gem::Version
54
120
  version: '0'
121
+ - !ruby/object:Gem::Dependency
122
+ name: pry
123
+ requirement: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '0.14'
128
+ type: :development
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - "~>"
133
+ - !ruby/object:Gem::Version
134
+ version: '0.14'
135
+ - !ruby/object:Gem::Dependency
136
+ name: database_cleaner
137
+ requirement: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '1.7'
142
+ type: :development
143
+ prerelease: false
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - "~>"
147
+ - !ruby/object:Gem::Version
148
+ version: '1.7'
55
149
  description: expand search by ransack
56
150
  email:
57
151
  - chariderpato@gmail.com
@@ -66,7 +160,7 @@ files:
66
160
  - lib/ransacker_translator/models/concerns/ransacker_translator.rb
67
161
  - lib/ransacker_translator/railtie.rb
68
162
  - lib/ransacker_translator/version.rb
69
- - lib/ransacker_translator/view_helpers.rb
163
+ - lib/ransacker_translator/view_helpers/action_view.rb
70
164
  homepage: https://github.com/patorash/ransacker_translator
71
165
  licenses:
72
166
  - MIT
@@ -79,15 +173,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
79
173
  requirements:
80
174
  - - ">="
81
175
  - !ruby/object:Gem::Version
82
- version: '0'
176
+ version: 2.6.0
83
177
  required_rubygems_version: !ruby/object:Gem::Requirement
84
178
  requirements:
85
179
  - - ">="
86
180
  - !ruby/object:Gem::Version
87
181
  version: '0'
88
182
  requirements: []
89
- rubyforge_project:
90
- rubygems_version: 2.4.3
183
+ rubygems_version: 3.0.3.1
91
184
  signing_key:
92
185
  specification_version: 4
93
186
  summary: expand search by ransack
@@ -1,23 +0,0 @@
1
- module RansackerTranslator
2
- module ViewHelpers
3
- def ransack_params_array_to_s(key)
4
- if params[:q].present? && params[:q][key].present?
5
- params[:q][key].join(' ')
6
- else
7
- ''
8
- end
9
- end
10
-
11
- def ransack_param_translate_normal_or_key(*columns)
12
- "#{columns.join("_translate_or_")}_translate_cont_any"
13
- end
14
-
15
- def ransack_param_translate_normal_and_key(*columns)
16
- "#{columns.join("_translate_and_")}_translate_cont_any"
17
- end
18
-
19
- def ransack_param_translate_ignore_key(*columns)
20
- "#{columns.join("_translate_and_")}_translate_not_cont_all"
21
- end
22
- end
23
- end