ransack 1.7.0 → 2.4.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.
- checksums.yaml +5 -5
- data/.github/FUNDING.yml +3 -0
- data/.github/SECURITY.md +12 -0
- data/.github/workflows/test.yml +120 -0
- data/.gitignore +3 -0
- data/CHANGELOG.md +463 -27
- data/CONTRIBUTING.md +52 -22
- data/Gemfile +24 -24
- data/README.md +453 -126
- data/Rakefile +6 -25
- data/lib/polyamorous/activerecord_5.2_ruby_2/join_association.rb +24 -0
- data/lib/polyamorous/activerecord_5.2_ruby_2/join_dependency.rb +79 -0
- data/lib/polyamorous/activerecord_5.2_ruby_2/reflection.rb +11 -0
- data/lib/polyamorous/activerecord_6.0_ruby_2/join_association.rb +1 -0
- data/lib/polyamorous/activerecord_6.0_ruby_2/join_dependency.rb +80 -0
- data/lib/polyamorous/activerecord_6.0_ruby_2/reflection.rb +1 -0
- data/lib/polyamorous/activerecord_6.1_ruby_2/join_association.rb +74 -0
- data/lib/polyamorous/activerecord_6.1_ruby_2/join_dependency.rb +93 -0
- data/lib/polyamorous/activerecord_6.1_ruby_2/reflection.rb +1 -0
- data/lib/polyamorous/join.rb +70 -0
- data/lib/polyamorous/polyamorous.rb +24 -0
- data/lib/polyamorous/swapping_reflection_class.rb +11 -0
- data/lib/polyamorous/tree_node.rb +7 -0
- data/lib/ransack/adapters/active_record/base.rb +27 -2
- data/lib/ransack/adapters/active_record/context.rb +213 -139
- data/lib/ransack/adapters/active_record/ransack/constants.rb +70 -55
- data/lib/ransack/adapters/active_record/ransack/context.rb +10 -18
- data/lib/ransack/adapters/active_record/ransack/nodes/condition.rb +42 -32
- data/lib/ransack/adapters/active_record/ransack/translate.rb +1 -5
- data/lib/ransack/adapters/active_record/ransack/visitor.rb +23 -0
- data/lib/ransack/adapters/active_record.rb +11 -10
- data/lib/ransack/adapters.rb +45 -23
- data/lib/ransack/configuration.rb +107 -4
- data/lib/ransack/constants.rb +13 -26
- data/lib/ransack/context.rb +45 -33
- data/lib/ransack/helpers/form_builder.rb +21 -12
- data/lib/ransack/helpers/form_helper.rb +75 -70
- data/lib/ransack/locale/ar.yml +70 -0
- data/lib/ransack/locale/az.yml +70 -0
- data/lib/ransack/locale/bg.yml +70 -0
- data/lib/ransack/locale/ca.yml +70 -0
- data/lib/ransack/locale/da.yml +70 -0
- data/lib/ransack/locale/el.yml +70 -0
- data/lib/ransack/locale/es.yml +22 -22
- data/lib/ransack/locale/fa.yml +70 -0
- data/lib/ransack/locale/fi.yml +71 -0
- data/lib/ransack/locale/id.yml +70 -0
- data/lib/ransack/locale/it.yml +70 -0
- data/lib/ransack/locale/ja.yml +70 -0
- data/lib/ransack/locale/nl.yml +4 -4
- data/lib/ransack/locale/pt-BR.yml +70 -0
- data/lib/ransack/locale/ru.yml +70 -0
- data/lib/ransack/locale/sk.yml +70 -0
- data/lib/ransack/locale/tr.yml +70 -0
- data/lib/ransack/locale/{zh.yml → zh-CN.yml} +13 -13
- data/lib/ransack/locale/zh-TW.yml +70 -0
- data/lib/ransack/nodes/attribute.rb +5 -2
- data/lib/ransack/nodes/bindable.rb +18 -6
- data/lib/ransack/nodes/condition.rb +85 -28
- data/lib/ransack/nodes/grouping.rb +17 -11
- data/lib/ransack/nodes/sort.rb +9 -5
- data/lib/ransack/nodes/value.rb +74 -68
- data/lib/ransack/nodes.rb +1 -1
- data/lib/ransack/predicate.rb +17 -20
- data/lib/ransack/search.rb +17 -8
- data/lib/ransack/translate.rb +115 -115
- data/lib/ransack/version.rb +1 -1
- data/lib/ransack/visitor.rb +1 -12
- data/lib/ransack.rb +9 -9
- data/logo/ransack-h.png +0 -0
- data/logo/ransack-h.svg +34 -0
- data/logo/ransack-v.png +0 -0
- data/logo/ransack-v.svg +34 -0
- data/logo/ransack.png +0 -0
- data/logo/ransack.svg +21 -0
- data/ransack.gemspec +7 -24
- data/spec/console.rb +4 -0
- data/spec/helpers/polyamorous_helper.rb +19 -0
- data/spec/polyamorous/join_association_spec.rb +35 -0
- data/spec/polyamorous/join_dependency_spec.rb +97 -0
- data/spec/polyamorous/join_spec.rb +19 -0
- data/spec/ransack/adapters/active_record/base_spec.rb +370 -75
- data/spec/ransack/adapters/active_record/context_spec.rb +72 -34
- data/spec/ransack/configuration_spec.rb +97 -14
- data/spec/ransack/helpers/form_builder_spec.rb +2 -11
- data/spec/ransack/helpers/form_helper_spec.rb +481 -113
- data/spec/ransack/nodes/condition_spec.rb +24 -0
- data/spec/ransack/nodes/grouping_spec.rb +56 -0
- data/spec/ransack/predicate_spec.rb +79 -5
- data/spec/ransack/search_spec.rb +207 -81
- data/spec/spec_helper.rb +8 -0
- data/spec/support/schema.rb +100 -42
- metadata +57 -184
- data/.travis.yml +0 -69
- data/lib/ransack/adapters/active_record/3.0/compat.rb +0 -179
- data/lib/ransack/adapters/active_record/3.0/context.rb +0 -201
- data/lib/ransack/adapters/active_record/3.1/context.rb +0 -215
- data/lib/ransack/adapters/active_record/3.2/context.rb +0 -44
- data/lib/ransack/adapters/active_record/compat.rb +0 -14
- data/lib/ransack/adapters/mongoid/3.2/.gitkeep +0 -0
- data/lib/ransack/adapters/mongoid/attributes/attribute.rb +0 -37
- data/lib/ransack/adapters/mongoid/attributes/order_predications.rb +0 -17
- data/lib/ransack/adapters/mongoid/attributes/predications.rb +0 -141
- data/lib/ransack/adapters/mongoid/base.rb +0 -130
- data/lib/ransack/adapters/mongoid/context.rb +0 -208
- data/lib/ransack/adapters/mongoid/inquiry_hash.rb +0 -23
- data/lib/ransack/adapters/mongoid/ransack/constants.rb +0 -88
- data/lib/ransack/adapters/mongoid/ransack/context.rb +0 -60
- data/lib/ransack/adapters/mongoid/ransack/nodes/condition.rb +0 -27
- data/lib/ransack/adapters/mongoid/ransack/translate.rb +0 -13
- data/lib/ransack/adapters/mongoid/ransack/visitor.rb +0 -24
- data/lib/ransack/adapters/mongoid/table.rb +0 -35
- data/lib/ransack/adapters/mongoid.rb +0 -13
- data/spec/mongoid/adapters/mongoid/base_spec.rb +0 -276
- data/spec/mongoid/adapters/mongoid/context_spec.rb +0 -56
- data/spec/mongoid/configuration_spec.rb +0 -102
- data/spec/mongoid/dependencies_spec.rb +0 -8
- data/spec/mongoid/helpers/ransack_helper.rb +0 -11
- data/spec/mongoid/nodes/condition_spec.rb +0 -34
- data/spec/mongoid/nodes/grouping_spec.rb +0 -13
- data/spec/mongoid/predicate_spec.rb +0 -155
- data/spec/mongoid/search_spec.rb +0 -446
- data/spec/mongoid/support/mongoid.yml +0 -6
- data/spec/mongoid/support/schema.rb +0 -128
- data/spec/mongoid/translate_spec.rb +0 -14
- data/spec/mongoid_spec_helper.rb +0 -59
- data/spec/ransack/dependencies_spec.rb +0 -12
data/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,458 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
* Add `ActiveRecord::Base.ransack!` which raises error if passed unknown condition
|
|
4
4
|
|
|
5
|
+
*Aaron Lipman*
|
|
6
|
+
|
|
7
|
+
## 2.4.0 - 2020-11-27
|
|
8
|
+
|
|
9
|
+
*
|
|
10
|
+
PR []()
|
|
11
|
+
|
|
12
|
+
* Support ActiveRecord 6.1.0.rc1.
|
|
13
|
+
PR [1172](https://github.com/activerecord-hackery/ransack/pull/1172)
|
|
14
|
+
|
|
15
|
+
* Fix for ActiveRecord 5.2.4 (note security fix in 5.2.4.2 for ActiveView's escape_javascript CVE-2020-5267 for all earlier versions)
|
|
16
|
+
|
|
17
|
+
* Drop support for ActiveRecord older than 5.2.4.
|
|
18
|
+
PR [1166](https://github.com/activerecord-hackery/ransack/pull/1166)
|
|
19
|
+
|
|
20
|
+
## 2.3.2 - 2020-01-11
|
|
21
|
+
|
|
22
|
+
* Breakfix to bump Polyamorous
|
|
23
|
+
|
|
24
|
+
## 2.3.1 - 2020-01-11
|
|
25
|
+
|
|
26
|
+
* Drop support for Active Record 5.0, 5.1, and 5.2.0.
|
|
27
|
+
PR [#1073](https://github.com/activerecord-hackery/ransack/pull/1073)
|
|
28
|
+
|
|
29
|
+
* Drop support for rubies under 2.3.
|
|
30
|
+
PR [#1070](https://github.com/activerecord-hackery/ransack/pull/1070)
|
|
31
|
+
|
|
32
|
+
... and others
|
|
33
|
+
|
|
34
|
+
## 2.3.0 - 2019-08-18
|
|
35
|
+
|
|
36
|
+
* Arabic translations PR [979](https://github.com/activerecord-hackery/ransack/pull/979)
|
|
37
|
+
|
|
38
|
+
* Rails 6 PR [1027](https://github.com/activerecord-hackery/ransack/pull/1027)
|
|
39
|
+
*vrodokanakis*
|
|
40
|
+
|
|
41
|
+
* Make polyamorous a separate gem PR [1002](https://github.com/activerecord-hackery/ransack/pull/1002)
|
|
42
|
+
|
|
43
|
+
* Catalan translations PR[1007](https://github.com/activerecord-hackery/ransack/pull/1007)
|
|
44
|
+
*roslavych*
|
|
45
|
+
|
|
46
|
+
* Don't escape period characters with wildcard searches in mysql2 PR [1013](https://github.com/activerecord-hackery/ransack/pull/1013)
|
|
47
|
+
*daflip*
|
|
48
|
+
|
|
49
|
+
* Farsi translations PR [1030](https://github.com/activerecord-hackery/ransack/pull/1030)
|
|
50
|
+
|
|
51
|
+
* Finnish translations PR [1049](https://github.com/activerecord-hackery/ransack/pull/1049)
|
|
52
|
+
|
|
53
|
+
* Fix wrong table alias when using nested join. for ActiveRecord >= 5.2
|
|
54
|
+
PR [374](https://github.com/activerecord-hackery/ransack/pull/374)
|
|
55
|
+
|
|
56
|
+
*hiichan*
|
|
57
|
+
|
|
58
|
+
## Version 2.1.1 - 2018-12-05
|
|
59
|
+
|
|
60
|
+
* Add `arabic` translation
|
|
61
|
+
https://github.com/activerecord-hackery/ransack/pull/979
|
|
62
|
+
|
|
63
|
+
* Deprecate #search
|
|
64
|
+
PR [975](https://github.com/activerecord-hackery/ransack/pull/975)
|
|
65
|
+
|
|
66
|
+
## Version 2.1.0 - 2018-10-26
|
|
67
|
+
|
|
68
|
+
* Add support for sorting by scopes
|
|
69
|
+
PR [973](https://github.com/activerecord-hackery/ransack/pull/973)
|
|
70
|
+
|
|
71
|
+
*Diego Borges*
|
|
72
|
+
|
|
73
|
+
* Added a new logo for Ransack
|
|
74
|
+
PR [972](https://github.com/activerecord-hackery/ransack/pull/972)
|
|
75
|
+
|
|
76
|
+
*Anıl Kılıç*, *Greg Molnar*
|
|
77
|
+
|
|
78
|
+
* Greek translations
|
|
79
|
+
PR [971](https://github.com/activerecord-hackery/ransack/pull/971)
|
|
80
|
+
PR [960](https://github.com/activerecord-hackery/ransack/pull/960)
|
|
81
|
+
|
|
82
|
+
*Sean Carroll*, *Greg Molnar*
|
|
83
|
+
|
|
84
|
+
* README improvements
|
|
85
|
+
PR [963](https://github.com/activerecord-hackery/ransack/pull/963)
|
|
86
|
+
|
|
87
|
+
*tommaso1*
|
|
88
|
+
|
|
89
|
+
* Bulgarian translations
|
|
90
|
+
PR [961](https://github.com/activerecord-hackery/ransack/pull/961)
|
|
91
|
+
|
|
92
|
+
*Sean Carroll*
|
|
93
|
+
|
|
94
|
+
* README improvements
|
|
95
|
+
PR [956](https://github.com/activerecord-hackery/ransack/pull/956)
|
|
96
|
+
|
|
97
|
+
*Alex Konoval*
|
|
98
|
+
|
|
99
|
+
* Remove lib/ransack/adapters/active_record/compat.rb
|
|
100
|
+
PR [954](https://github.com/activerecord-hackery/ransack/pull/954)
|
|
101
|
+
|
|
102
|
+
*Ryuta Kamizono*
|
|
103
|
+
|
|
104
|
+
* Remove unused aliases
|
|
105
|
+
PR [953](https://github.com/activerecord-hackery/ransack/pull/953)
|
|
106
|
+
|
|
107
|
+
*Ryuta Kamizono*
|
|
108
|
+
|
|
109
|
+
## Version 2.0.1 - 2018-08-18
|
|
110
|
+
|
|
111
|
+
* Don't return association if table is nil
|
|
112
|
+
PR [952](https://github.com/activerecord-hackery/ransack/pull/952)
|
|
113
|
+
|
|
114
|
+
*Christian Gregg*
|
|
115
|
+
|
|
116
|
+
## Version 2.0.0 - 2018-08-09
|
|
117
|
+
|
|
118
|
+
* Add support for Active Record 5.2.1
|
|
119
|
+
PR [#938](https://github.com/activerecord-hackery/ransack/pull/938)
|
|
120
|
+
|
|
121
|
+
* Fix sort with joins on existing association
|
|
122
|
+
PR [#937](https://github.com/activerecord-hackery/ransack/pull/937)
|
|
123
|
+
|
|
124
|
+
* Add the ability to skip arg sanitization on a per scope basis. Using
|
|
125
|
+
`ransackable_scopes_skip_sanitize_args`, users can define a list of
|
|
126
|
+
scopes which will bypass parameter sanitization. This allows passing 0,
|
|
127
|
+
1, t, f, etc. to a scope as an actual parameter.
|
|
128
|
+
PR [#933](https://github.com/activerecord-hackery/ransack/pull/933)
|
|
129
|
+
|
|
130
|
+
* Drop support for Active Record < 5.0.
|
|
131
|
+
PR [#929](https://github.com/activerecord-hackery/ransack/pull/929)
|
|
132
|
+
|
|
133
|
+
* Extract mongoid support to a separate gem.
|
|
134
|
+
PR [#928](https://github.com/activerecord-hackery/ransack/pull/928)
|
|
135
|
+
|
|
136
|
+
* Absorb polyamorous
|
|
137
|
+
PR [#927](https://github.com/activerecord-hackery/ransack/pull/927)
|
|
138
|
+
|
|
139
|
+
* Fix broken monkey patch of #form_with
|
|
140
|
+
PR [#922](https://github.com/activerecord-hackery/ransack/pull/922)
|
|
141
|
+
|
|
142
|
+
## Version 1.8.8 - 2018-03-16
|
|
143
|
+
* Fix multiple database support
|
|
144
|
+
PR [#893](https://github.com/activerecord-hackery/ransack/pull/893)
|
|
145
|
+
|
|
146
|
+
* Updated Dutch translations
|
|
147
|
+
PR [#887](https://github.com/activerecord-hackery/ransack/pull/887)
|
|
148
|
+
|
|
149
|
+
* Fixed no method error 'asc' for Rails 4.2
|
|
150
|
+
PR [#885](https://github.com/activerecord-hackery/ransack/pull/885)
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
## Version 1.8.7 - 2018-02-05
|
|
154
|
+
|
|
155
|
+
* Rails 5.2 support
|
|
156
|
+
PR [#868](https://github.com/activerecord-hackery/ransack/pull/868)
|
|
157
|
+
|
|
158
|
+
* Lock pg gem to 0.21 to support older releases
|
|
159
|
+
|
|
160
|
+
* Warnings cleanup
|
|
161
|
+
PR [#867](https://github.com/activerecord-hackery/ransack/pull/867)
|
|
162
|
+
|
|
163
|
+
* Wildcard escaping
|
|
164
|
+
PR [#866]
|
|
165
|
+
|
|
166
|
+
## Version 1.8.6 - 2018-01-23
|
|
167
|
+
|
|
168
|
+
### Added
|
|
169
|
+
|
|
170
|
+
* Improve memory usage
|
|
171
|
+
PR [#820](https://github.com/activerecord-hackery/ransack/pull/820)
|
|
172
|
+
|
|
173
|
+
* Bump Polyamorous version to 1.3.2
|
|
174
|
+
PR [#858](https://github.com/activerecord-hackery/ransack/pull/858)
|
|
175
|
+
|
|
176
|
+
## Version 1.8.5
|
|
177
|
+
|
|
178
|
+
### Added
|
|
179
|
+
|
|
180
|
+
* Added Turkish Translations
|
|
181
|
+
PR [#835](https://github.com/activerecord-hackery/ransack/issues/835).
|
|
182
|
+
|
|
183
|
+
## Version 1.8.4 - 2017-10-09
|
|
184
|
+
|
|
185
|
+
### Added
|
|
186
|
+
|
|
187
|
+
* Added italian translations.
|
|
188
|
+
PR [#833](https://github.com/activerecord-hackery/ransack/pull/833).
|
|
189
|
+
|
|
190
|
+
* Add an optional default arrow for unsorted fields.
|
|
191
|
+
PR [#816](https://github.com/activerecord-hackery/ransack/pull/816/files).
|
|
192
|
+
|
|
193
|
+
### Fixed
|
|
194
|
+
|
|
195
|
+
* Cast Postgres money type to float.
|
|
196
|
+
PR [#823](https://github.com/activerecord-hackery/ransack/pull/823).
|
|
197
|
+
|
|
198
|
+
* Fix the bug in sort_link, which causes the multiple fields option to be
|
|
199
|
+
ignored when block parameter is specified.
|
|
200
|
+
PR [#818](https://github.com/activerecord-hackery/ransack/pull/818).
|
|
201
|
+
|
|
202
|
+
* No need pass some arugments to JoinAssociation#join_constraints in Rails 5.1.
|
|
203
|
+
PR [#814](https://github.com/activerecord-hackery/ransack/pull/814).
|
|
204
|
+
Fixes [#807](https://github.com/activerecord-hackery/ransack/issues/807).
|
|
205
|
+
Reference [rails/rails#28267](https://github.com/rails/rails/pull/28267)
|
|
206
|
+
and [rails/rails#27851](https://github.com/rails/rails/pull/27851).
|
|
207
|
+
|
|
208
|
+
## Version 1.8.3 - 2017-06-15
|
|
209
|
+
|
|
210
|
+
### Added
|
|
211
|
+
|
|
212
|
+
* Add a config option to customize the up and down arrows used for direction
|
|
213
|
+
indicators in Ransack sort links.
|
|
214
|
+
PR [#726](https://github.com/activerecord-hackery/ransack/pull/726).
|
|
215
|
+
|
|
216
|
+
*Garett Arrowood*
|
|
217
|
+
|
|
218
|
+
* Add ability to turn off sanitization of custom scope arguments.
|
|
219
|
+
PR [#742](https://github.com/activerecord-hackery/ransack/pull/742).
|
|
220
|
+
|
|
221
|
+
*Garett Arrowood*
|
|
222
|
+
|
|
223
|
+
### Fixed
|
|
224
|
+
|
|
225
|
+
* Use class attributes properly so that inheritance is respected.
|
|
226
|
+
PR [#717](https://github.com/activerecord-hackery/ransack/pull/717).
|
|
227
|
+
This fixes two bugs:
|
|
228
|
+
|
|
229
|
+
1. In the Mongoid adapter, subclasses were not properly inheriting their
|
|
230
|
+
parents' Ransack aliases because each class defined its own set of
|
|
231
|
+
aliases.
|
|
232
|
+
|
|
233
|
+
2. In the Active Record adapter, Ransack aliases were defined in such a way
|
|
234
|
+
that the parent's (and grandparent's, etc.) aliases were overwritten by
|
|
235
|
+
the child, meaning that all aliases were ultimately kept on
|
|
236
|
+
`ActiveRecord::Base`. This had the unfortunate effect of enforcing
|
|
237
|
+
uniqueness of Ransack alias names across all models rather than per
|
|
238
|
+
model. Depending on the load order of models, earlier definitions of an
|
|
239
|
+
alias in other models were clobbered.
|
|
240
|
+
|
|
241
|
+
*Steve Richert (laserlemon)*
|
|
242
|
+
|
|
243
|
+
* Use `ActiveSupport.on_load` hooks to include Ransack in Active Record,
|
|
244
|
+
avoiding autoloading the constant too soon. PR
|
|
245
|
+
[#719](https://github.com/activerecord-hackery/ransack/pull/719). Reference:
|
|
246
|
+
[This comment in rails#23589]
|
|
247
|
+
(https://github.com/rails/rails/issues/23589#issuecomment-229247727).
|
|
248
|
+
|
|
249
|
+
*Yuji Yaginuma (y-yagi)*
|
|
250
|
+
|
|
251
|
+
## Version 1.8.2 - 2016-08-08
|
|
252
|
+
### Fixed
|
|
253
|
+
|
|
254
|
+
* Fix empty attribute_fields regression in advanced search mode introduced by
|
|
255
|
+
[235eae3](https://github.com/activerecord-hackery/ransack/commit/235eae3).
|
|
256
|
+
Closes
|
|
257
|
+
[#701](https://github.com/activerecord-hackery/ransack/issues/701). Commit
|
|
258
|
+
[2839acf](https://github.com/activerecord-hackery/ransack/commit/2839acf).
|
|
259
|
+
|
|
260
|
+
*Jon Atack, Jay Dorsey, Stefan Haslinger, Igor Kasyanchuk*
|
|
261
|
+
|
|
262
|
+
### Added
|
|
263
|
+
|
|
264
|
+
* Add `sort_url` view helper that returns only the url of a `sort_link`. PR
|
|
265
|
+
[#706](https://github.com/activerecord-hackery/ransack/pull/706).
|
|
266
|
+
|
|
267
|
+
*amatotsuji*
|
|
268
|
+
|
|
269
|
+
## Version 1.8.1 - 2016-07-27
|
|
270
|
+
### Fixed
|
|
271
|
+
|
|
272
|
+
* Fix `rake console` to run a command-line console with ransack + seed data.
|
|
273
|
+
Commits
|
|
274
|
+
[2cc781e](https://github.com/activerecord-hackery/ransack/commit/2cc781e),
|
|
275
|
+
[f2e85ad](https://github.com/activerecord-hackery/ransack/commit/f2e85ad),
|
|
276
|
+
[6a059ba](https://github.com/activerecord-hackery/ransack/commit/6a059ba).
|
|
277
|
+
|
|
278
|
+
*Jon Atack*
|
|
279
|
+
|
|
280
|
+
* Fix returned value of `Ransack::Nodes::Condition#format_predicate`. PR
|
|
281
|
+
[#692](https://github.com/activerecord-hackery/ransack/pull/692).
|
|
282
|
+
|
|
283
|
+
*Masahiro Saito*
|
|
284
|
+
|
|
285
|
+
* Better test coverage on passing arrays to ransackers. Commit
|
|
286
|
+
[98df2c5](https://github.com/activerecord-hackery/ransack/commit/98df2c5).
|
|
287
|
+
|
|
288
|
+
*Jon Atack*
|
|
289
|
+
|
|
290
|
+
* Fix missing Ransack::Constants::ASC constant. Commit
|
|
291
|
+
[aece23c](https://github.com/activerecord-hackery/ransack/commit/aece23c).
|
|
292
|
+
|
|
293
|
+
*Jon Atack*
|
|
294
|
+
|
|
295
|
+
### Changed
|
|
296
|
+
|
|
297
|
+
* Replace arrow constants with frozen strings in public methods. Commits
|
|
298
|
+
[c0dff33](https://github.com/activerecord-hackery/ransack/commit/c0dff33),
|
|
299
|
+
[e489ca7](https://github.com/activerecord-hackery/ransack/commit/e489ca7).
|
|
300
|
+
|
|
301
|
+
*Jon Atack*
|
|
302
|
+
|
|
303
|
+
## Version 1.8.0 - 2016-07-14
|
|
304
|
+
### Added
|
|
305
|
+
|
|
306
|
+
* Support Mongoid 5. PR [#636](https://github.com/activerecord-hackery/ransack/pull/636), commit
|
|
307
|
+
[9e5faf4](https://github.com/activerecord-hackery/ransack/commit/9e5faf4).
|
|
308
|
+
|
|
309
|
+
*Josef Šimánek*
|
|
310
|
+
|
|
311
|
+
* Add optional block argument for the `sort_link` method. PR
|
|
312
|
+
[#604](https://github.com/activerecord-hackery/ransack/pull/604).
|
|
313
|
+
|
|
314
|
+
*Andrea Dal Ponte*
|
|
315
|
+
|
|
316
|
+
* Add `ransack_alias` to allow users to customize the names for long
|
|
317
|
+
ransack field names. PR
|
|
318
|
+
[#623](https://github.com/activerecord-hackery/ransack/pull/623).
|
|
319
|
+
|
|
320
|
+
*Ray Zane*
|
|
321
|
+
|
|
322
|
+
* Add support for searching on attributes that have been added to
|
|
323
|
+
Active Record models with `alias_attribute` (Rails >= 4 only). PR
|
|
324
|
+
[#592](https://github.com/activerecord-hackery/ransack/pull/592), commit
|
|
325
|
+
[549342a](https://github.com/activerecord-hackery/ransack/commit/549342a).
|
|
326
|
+
|
|
327
|
+
*Marten Schilstra*
|
|
328
|
+
|
|
329
|
+
* Add ability to globally hide sort link order indicator arrows with
|
|
330
|
+
`Ransack.configure#hide_sort_order_indicators = true`. PR
|
|
331
|
+
[#577](https://github.com/activerecord-hackery/ransack/pull/577), commit
|
|
332
|
+
[95d4591](https://github.com/activerecord-hackery/ransack/commit/95d4591).
|
|
333
|
+
|
|
334
|
+
*Josh Hunter*, *Jon Atack*
|
|
335
|
+
|
|
336
|
+
* Add test for `ActionController:Parameter` object params in `sort_link` to
|
|
337
|
+
ensure Ransack is handling the Rails 5 changes correctly. Commit
|
|
338
|
+
[b1cfed8](https://github.com/activerecord-hackery/ransack/commit/b1cfed8).
|
|
339
|
+
|
|
340
|
+
*Ryan Wood*
|
|
341
|
+
|
|
342
|
+
* Add failing tests to facilitate work on issue
|
|
343
|
+
[#566](https://github.com/activerecord-hackery/ransack/issues/566)
|
|
344
|
+
of passing boolean values to search scopes. PR
|
|
345
|
+
[#575](https://github.com/activerecord-hackery/ransack/pull/575).
|
|
346
|
+
|
|
347
|
+
*Marcel Eeken*
|
|
348
|
+
|
|
349
|
+
* Add i18n locale files:
|
|
350
|
+
* Taiwanese Hokkien/Mandarin (`zh-TW.yml`). PR
|
|
351
|
+
[#674](https://github.com/activerecord-hackery/ransack/pull/674). *Sibevin Wang*
|
|
352
|
+
* Danish (`da.yml`). PR
|
|
353
|
+
[#663](https://github.com/activerecord-hackery/ransack/pull/663). *Kasper Johansen*
|
|
354
|
+
* Brazilian Portuguese (`pt-BR.yml`). PR
|
|
355
|
+
[#581](https://github.com/activerecord-hackery/ransack/pull/581). *Diego Henrique Domingues*
|
|
356
|
+
* Indonesian (Bahasa) (`id.yml`). PR
|
|
357
|
+
[#612](https://github.com/activerecord-hackery/ransack/pull/612). *Adam Pahlevi Baihaqi*
|
|
358
|
+
* Japanese (`ja.yml`). PR
|
|
359
|
+
[#622](https://github.com/activerecord-hackery/ransack/pull/622). *Masanobu Mizutani*
|
|
360
|
+
|
|
361
|
+
### Fixed
|
|
362
|
+
|
|
363
|
+
* In `FormHelper::SortLink#parameters_hash`, convert `params#to_unsafe_h`
|
|
364
|
+
only if Rails 5, and add tests. Commit
|
|
365
|
+
[14e66ca](https://github.com/activerecord-hackery/ransack/commit/14e66ca).
|
|
366
|
+
|
|
367
|
+
*Jon Atack*
|
|
368
|
+
|
|
369
|
+
* Respect negative conditions for collection associations and fix Mongoid
|
|
370
|
+
compat. PR [#645](https://github.com/activerecord-hackery/ransack/pull/645).
|
|
371
|
+
|
|
372
|
+
*Andrew Vit*
|
|
373
|
+
|
|
374
|
+
* Ensure conditions differing only by ransacker_args aren't filtered out.
|
|
375
|
+
PR [#665](https://github.com/activerecord-hackery/ransack/pull/665).
|
|
376
|
+
|
|
377
|
+
*Andrew Porterfield*
|
|
378
|
+
|
|
379
|
+
* Fix using aliased attributes in association searches, and add a failing
|
|
380
|
+
spec. PR [#602](https://github.com/activerecord-hackery/ransack/pull/602).
|
|
381
|
+
|
|
382
|
+
*Marten Schilstra*
|
|
383
|
+
|
|
384
|
+
* Replace Active Record `table_exists?` API that was deprecated
|
|
385
|
+
[here](https://github.com/rails/rails/commit/152b85f) in Rails 5. Commit
|
|
386
|
+
[c9d2297](https://github.com/activerecord-hackery/ransack/commit/c9d2297).
|
|
387
|
+
|
|
388
|
+
*Jon Atack*
|
|
389
|
+
|
|
390
|
+
* Adapt to changes in Rails 5 where AC::Parameters composes a HWIA instead of
|
|
391
|
+
inheriting from Hash starting from Rails commit rails/rails@14a3bd5. Commit
|
|
392
|
+
[ceafc05](https://github.com/activerecord-hackery/ransack/commit/ceafc05).
|
|
393
|
+
|
|
394
|
+
*Jon Atack*
|
|
395
|
+
|
|
396
|
+
* Fix test `#sort_link with hide order indicator set to true` to fail properly
|
|
397
|
+
([4f65b09](https://github.com/activerecord-hackery/ransack/commit/4f65b09)).
|
|
398
|
+
This spec, added in
|
|
399
|
+
[#473](https://github.com/activerecord-hackery/ransack/pull/473), tested
|
|
400
|
+
the presence of the attribute name instead of the absence of the order
|
|
401
|
+
indicators and did not fail when it should.
|
|
402
|
+
|
|
403
|
+
*Josh Hunter*, *Jon Atack*
|
|
404
|
+
|
|
405
|
+
* Fix rspec-mocks `stub` deprecation warnings when running the tests. Commit
|
|
406
|
+
[600892e](https://github.com/activerecord-hackery/ransack/commit/600892e).
|
|
407
|
+
|
|
408
|
+
*Jon Atack*
|
|
409
|
+
|
|
410
|
+
* Revert
|
|
411
|
+
[f858dd6](https://github.com/activerecord-hackery/ransack/commit/f858dd6).
|
|
412
|
+
Fixes [#553](https://github.com/activerecord-hackery/ransack/issues/553)
|
|
413
|
+
performance regression with the SQL Server adapter.
|
|
414
|
+
|
|
415
|
+
*sschwing3*
|
|
416
|
+
|
|
417
|
+
* Fix invalid Chinese I18n locale file name by replacing "zh" with "zh-CN".
|
|
418
|
+
PR [#590](https://github.com/activerecord-hackery/ransack/pull/590).
|
|
419
|
+
|
|
420
|
+
*Ethan Yang*
|
|
421
|
+
|
|
422
|
+
### Changed
|
|
423
|
+
|
|
424
|
+
* Memory/speed perf improvement: Freeze strings in array global constants and
|
|
425
|
+
partially move from using global string constants to frozen strings
|
|
426
|
+
([381a83c](https://github.com/activerecord-hackery/ransack/commit/381a83c)
|
|
427
|
+
and
|
|
428
|
+
[ce114ec](https://github.com/activerecord-hackery/ransack/commit/ce114ec)).
|
|
429
|
+
|
|
430
|
+
*Jon Atack*
|
|
431
|
+
|
|
432
|
+
* Escape underscore `_` wildcard characters with PostgreSQL and MySQL. PR
|
|
433
|
+
[#584](https://github.com/activerecord-hackery/ransack/issues/584).
|
|
434
|
+
|
|
435
|
+
*Igor Dobryn*
|
|
436
|
+
|
|
437
|
+
* Refactor `Ransack::Adapters` from conditionals to classes
|
|
438
|
+
([94a404c](https://github.com/activerecord-hackery/ransack/commit/94a404c)).
|
|
439
|
+
|
|
440
|
+
*Jon Atack*
|
|
5
441
|
|
|
6
442
|
## Version 1.7.0 - 2015-08-20
|
|
443
|
+
### Added
|
|
444
|
+
|
|
445
|
+
* Add Mongoid support for referenced/embedded relations. PR
|
|
446
|
+
[#498](https://github.com/activerecord-hackery/ransack/pull/498).
|
|
447
|
+
TODO: Missing spec coverage! Add documentation!
|
|
448
|
+
|
|
449
|
+
*Penn Su*
|
|
450
|
+
|
|
451
|
+
* Add German i18n locale file (`de.yml`). PR
|
|
452
|
+
[#537](https://github.com/activerecord-hackery/ransack/pull/537).
|
|
453
|
+
|
|
454
|
+
*Philipp Weissensteiner*
|
|
455
|
+
|
|
7
456
|
### Fixed
|
|
8
457
|
|
|
9
458
|
* Fix
|
|
@@ -44,8 +493,8 @@
|
|
|
44
493
|
|
|
45
494
|
*Andrew Vit*
|
|
46
495
|
|
|
47
|
-
* Fix RSpec `its` method deprecation warning:
|
|
48
|
-
method is deprecated. Use the rspec-its gem instead
|
|
496
|
+
* Fix RSpec `its` method deprecation warning: "Use of rspec-core's its
|
|
497
|
+
method is deprecated. Use the rspec-its gem instead"
|
|
49
498
|
([c09aa17](https://github.com/activerecord-hackery/ransack/commit/c09aa17)).
|
|
50
499
|
|
|
51
500
|
* Fix deprecated RSpec syntax in `grouping_spec.rb`
|
|
@@ -53,24 +502,11 @@
|
|
|
53
502
|
|
|
54
503
|
*Jon Atack*
|
|
55
504
|
|
|
56
|
-
### Added
|
|
57
|
-
|
|
58
|
-
* Add Mongoid support for referenced/embedded relations. PR
|
|
59
|
-
[#498](https://github.com/activerecord-hackery/ransack/pull/498).
|
|
60
|
-
TODO: Missing spec coverage! Add documentation!
|
|
61
|
-
|
|
62
|
-
*Penn Su*
|
|
63
|
-
|
|
64
|
-
* Add German locale file (de.yml). PR
|
|
65
|
-
[#537](https://github.com/activerecord-hackery/ransack/pull/537).
|
|
66
|
-
|
|
67
|
-
*Philipp Weissensteiner*
|
|
68
|
-
|
|
69
505
|
### Changed
|
|
70
506
|
|
|
71
507
|
* Upgrade gemspec dependencies: MySQL2 from '0.3.14' to '0.3.18', and RSpec
|
|
72
508
|
from '~> 2.14.0' to '~> 2' which loads 2.99
|
|
73
|
-
([
|
|
509
|
+
([000cd22](https://github.com/activerecord-hackery/ransack/commit/000cd22)).
|
|
74
510
|
|
|
75
511
|
* Upgrade spec suite to RSpec 3 `expect` syntax backward compatible with
|
|
76
512
|
RSpec 2.9
|
|
@@ -89,10 +525,12 @@
|
|
|
89
525
|
|
|
90
526
|
|
|
91
527
|
## Version 1.6.6 - 2015-04-05
|
|
92
|
-
###
|
|
528
|
+
### Added
|
|
93
529
|
|
|
94
|
-
*
|
|
95
|
-
|
|
530
|
+
* Add the Ruby version to the the header message that shows the database,
|
|
531
|
+
Active Record and Arel versions when running tests.
|
|
532
|
+
|
|
533
|
+
* Add Code Climate analysis.
|
|
96
534
|
|
|
97
535
|
*Jon Atack*
|
|
98
536
|
|
|
@@ -117,12 +555,10 @@
|
|
|
117
555
|
|
|
118
556
|
*Jon Atack*
|
|
119
557
|
|
|
120
|
-
###
|
|
121
|
-
|
|
122
|
-
* Add the Ruby version to the the header message that shows the database,
|
|
123
|
-
Active Record and Arel versions when running tests.
|
|
558
|
+
### Changed
|
|
124
559
|
|
|
125
|
-
*
|
|
560
|
+
* Upgrade Polyamorous dependency to version 1.2.0, which uses `Module#prepend`
|
|
561
|
+
instead of `alias_method` for hooking into Active Record (with Ruby 2.x).
|
|
126
562
|
|
|
127
563
|
*Jon Atack*
|
|
128
564
|
|
|
@@ -239,7 +675,7 @@
|
|
|
239
675
|
|
|
240
676
|
*Josh Kovach*
|
|
241
677
|
|
|
242
|
-
* Add an sort_link option to not display sort
|
|
678
|
+
* Add an sort_link option to not display sort order indicator arrows
|
|
243
679
|
([PR #473](https://github.com/activerecord-hackery/ransack/pull/473)).
|
|
244
680
|
|
|
245
681
|
*Fred Bergman*
|
|
@@ -427,7 +863,7 @@
|
|
|
427
863
|
|
|
428
864
|
*Pedro Chambino*
|
|
429
865
|
|
|
430
|
-
* Add `ro.yml`
|
|
866
|
+
* Add Romanian i18n locale file (`ro.yml`).
|
|
431
867
|
|
|
432
868
|
*Andreas Philippi*
|
|
433
869
|
|
data/CONTRIBUTING.md
CHANGED
|
@@ -5,15 +5,15 @@ effective for everyone involved!
|
|
|
5
5
|
|
|
6
6
|
Ransack is an open source project and we encourage contributions.
|
|
7
7
|
|
|
8
|
+
Please do not use the issue tracker for personal support requests. Stack
|
|
9
|
+
Overflow is a better place for that where a wider community can help you!
|
|
10
|
+
|
|
8
11
|
## Filing an issue
|
|
9
12
|
|
|
10
13
|
Good issue reports are extremely helpful! Please only open an issue if a bug
|
|
11
14
|
is caused by Ransack, is new (has not already been reported), and can be
|
|
12
15
|
reproduced from the information you provide.
|
|
13
16
|
|
|
14
|
-
Please do not use the issue tracker personal support requests. Stack Overflow
|
|
15
|
-
is a better place for that where a wider community can help you.
|
|
16
|
-
|
|
17
17
|
Steps:
|
|
18
18
|
|
|
19
19
|
1. **Use the GitHub issue search** — check if the issue has already been
|
|
@@ -22,18 +22,25 @@ Steps:
|
|
|
22
22
|
2. **Check if the issue has been fixed** — try to reproduce it using the
|
|
23
23
|
`master` branch in the repository.
|
|
24
24
|
|
|
25
|
-
3. **Isolate
|
|
26
|
-
|
|
25
|
+
3. **Isolate the real problem** — make sure the issue is really a bug in
|
|
26
|
+
Ransack and not in your code or another gem.
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
4. **Report the issue** by providing the link to a self-contained
|
|
29
|
+
gist like [this](https://gist.github.com/jonatack/63048bc5062a84ba9e09) or
|
|
30
|
+
[this](https://gist.github.com/jonatack/5df41a0edb53b7bad989). Please use
|
|
31
|
+
these code examples as a bug-report template for your Ransack issue!
|
|
29
32
|
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
If you do not provide a self-contained gist and would like your issue to be reviewed, do provide at a minimum:
|
|
34
|
+
|
|
35
|
+
* A comprehensive list of steps to reproduce the issue, or even better, a
|
|
36
|
+
passing/failing test spec.
|
|
37
|
+
* Whether you are using Ransack through another gem like ActiveAdmin,
|
|
38
|
+
SimpleForm, etc.
|
|
39
|
+
* The versions of Ruby, Rails, Ransack and the database.
|
|
32
40
|
* Any relevant stack traces ("Full trace" preferred).
|
|
33
41
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
if actionable information to reproduce the issue is provided.
|
|
42
|
+
Issues filed without the above information or that remain open without activity
|
|
43
|
+
for 14 days will be closed. They can be re-opened if actionable information to reproduce the issue is provided.
|
|
37
44
|
|
|
38
45
|
## Pull requests
|
|
39
46
|
|
|
@@ -57,6 +64,9 @@ Here's a quick guide:
|
|
|
57
64
|
2. Create a thoughtfully-named branch for your changes (`git checkout -b my-new-feature`).
|
|
58
65
|
|
|
59
66
|
3. Install the development dependencies by running `bundle install`.
|
|
67
|
+
To install rails other than latest (set in Gemfile): `RAILS='5-2-stable' bundle install`
|
|
68
|
+
|
|
69
|
+
$ RAILS='5-2-stable' bundle install
|
|
60
70
|
|
|
61
71
|
4. Begin by running the tests. We only take pull requests with passing tests,
|
|
62
72
|
and it's great to know that you have a clean slate:
|
|
@@ -65,11 +75,30 @@ Here's a quick guide:
|
|
|
65
75
|
|
|
66
76
|
The test suite runs by default with SQLite3. To run the test suite with PostgreSQL or MySQL, use:
|
|
67
77
|
|
|
68
|
-
$ DB=
|
|
78
|
+
$ DB=pg bundle exec rake spec (`DB=postgres` & `DB=postgresql` work too)
|
|
69
79
|
$ DB=mysql bundle exec rake spec
|
|
70
80
|
|
|
71
|
-
|
|
72
|
-
|
|
81
|
+
For Postgres and MySQL, databases are expected to exist, called 'ransack'. To create use these commands (assuming OS X and Homebrew):
|
|
82
|
+
|
|
83
|
+
### Postgres
|
|
84
|
+
$ createdb ransack
|
|
85
|
+
|
|
86
|
+
### MySQL
|
|
87
|
+
$ mysql -u root
|
|
88
|
+
mysql> create database ransack;
|
|
89
|
+
|
|
90
|
+
The test suite runs by default
|
|
91
|
+
|
|
92
|
+
To run only the tests in a particular file: `bundle exec rspec <path/to/filename>`
|
|
93
|
+
|
|
94
|
+
$ bundle exec rspec spec/ransack/search_spec.rb
|
|
95
|
+
|
|
96
|
+
To run a single test in that file: `bundle exec rspec <path/to/filename> -e "test name"`
|
|
97
|
+
|
|
98
|
+
$ bundle exec rspec spec/ransack/search_spec.rb -e "accepts a context option"
|
|
99
|
+
|
|
100
|
+
5. Hack away! Please use Ruby features that are compatible down to Ruby 2.3.
|
|
101
|
+
Since version 2.3.1, Ransack no longer maintains Ruby 2.2 compatibility.
|
|
73
102
|
|
|
74
103
|
6. Add tests for your changes. Only refactoring and documentation changes
|
|
75
104
|
require no new tests. If you are adding functionality or fixing a bug, we
|
|
@@ -80,20 +109,21 @@ Here's a quick guide:
|
|
|
80
109
|
8. Update the Change Log. If you are adding new functionality, document it in
|
|
81
110
|
the README.
|
|
82
111
|
|
|
83
|
-
9.
|
|
112
|
+
9. Make sure git knows your name and email address in your `~/.gitconfig` file:
|
|
84
113
|
|
|
85
|
-
|
|
114
|
+
$ git config --global user.name "Your Name"
|
|
115
|
+
$ git config --global user.email "contributor@example.com"
|
|
116
|
+
|
|
117
|
+
10. Commit your changes (`git commit -am 'Add feature/fix bug/improve docs'`).
|
|
118
|
+
|
|
119
|
+
11. If necessary, rebase your commits into logical chunks, without errors. To
|
|
86
120
|
interactively rebase and cherry-pick from, say, the last 10 commits:
|
|
87
121
|
`git rebase -i HEAD~10`, then `git push -f`.
|
|
88
122
|
|
|
89
|
-
|
|
90
|
-
(`git push origin my-new-feature`) and from
|
|
123
|
+
12. Push the branch up to your fork on GitHub
|
|
124
|
+
(`git push origin my-new-feature`) and from GitHub submit a pull request to
|
|
91
125
|
Ransack's `master` branch.
|
|
92
126
|
|
|
93
|
-
12. If your pull request only contains documentation changes, please remember
|
|
94
|
-
to add `[skip ci]` to the beginning of your commit message so the Travis
|
|
95
|
-
test suite doesn't :runner: needlessly.
|
|
96
|
-
|
|
97
127
|
At this point you're waiting on us. We like to at least comment on, if not
|
|
98
128
|
accept, pull requests within three business days (and, typically, one business
|
|
99
129
|
day). We may suggest some changes or improvements or alternatives.
|