ransack 4.1.1 → 4.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +3 -3
- data/CHANGELOG.md +13 -7
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/docs/yarn.lock +30 -25
- data/lib/polyamorous/activerecord/join_association_7_2.rb +55 -0
- data/lib/polyamorous/polyamorous.rb +4 -0
- data/lib/ransack/adapters/active_record/context.rb +2 -2
- data/lib/ransack/context.rb +4 -4
- data/lib/ransack/version.rb +1 -1
- data/lib/ransack.rb +1 -0
- metadata +5 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f378bb864b0b4cb10cfe0f8a10959010fc31de18b161be838354d0c7e91aa451
|
4
|
+
data.tar.gz: d4bee8f5d8181cad27191fb7c0e88a5407e6fed26b203aa2f9ae297f26b8ad90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1a09e345fb112d740bbd0e47ce0a0fd5d2ae843313306b1c9b4e55967a5a26383144c3df8515fe86d7730cb703c3fdfc5d95a70a6f34cda40e6a327937d7cad
|
7
|
+
data.tar.gz: cb5661601b8f4457d0369499e1dc61ee6b09c4c4035b413a25302f9d671deb28a9ba7356a3fcdfe1bce37f4393a6e5fdc606a65bc46c534e6a9d46504aab77a4
|
data/.github/workflows/test.yml
CHANGED
@@ -13,13 +13,13 @@ jobs:
|
|
13
13
|
fail-fast: false
|
14
14
|
matrix:
|
15
15
|
rails:
|
16
|
+
- 7-2-stable
|
16
17
|
- v7.1.0
|
17
18
|
- v7.0.3
|
18
19
|
- v6.1.6
|
19
20
|
ruby:
|
20
21
|
- 3.2.2
|
21
22
|
- 3.1.4
|
22
|
-
- 3.0.6
|
23
23
|
env:
|
24
24
|
DB: sqlite3
|
25
25
|
RAILS: ${{ matrix.rails }}
|
@@ -39,13 +39,13 @@ jobs:
|
|
39
39
|
fail-fast: false
|
40
40
|
matrix:
|
41
41
|
rails:
|
42
|
+
- 7-2-stable
|
42
43
|
- v7.1.0
|
43
44
|
- v7.0.3
|
44
45
|
- v6.1.6
|
45
46
|
ruby:
|
46
47
|
- 3.2.2
|
47
48
|
- 3.1.4
|
48
|
-
- 3.0.6
|
49
49
|
env:
|
50
50
|
DB: mysql
|
51
51
|
RAILS: ${{ matrix.rails }}
|
@@ -74,13 +74,13 @@ jobs:
|
|
74
74
|
fail-fast: false
|
75
75
|
matrix:
|
76
76
|
rails:
|
77
|
+
- 7-2-stable
|
77
78
|
- v7.1.0
|
78
79
|
- v7.0.3
|
79
80
|
- v6.1.6
|
80
81
|
ruby:
|
81
82
|
- 3.2.2
|
82
83
|
- 3.1.4
|
83
|
-
- 3.0.6
|
84
84
|
env:
|
85
85
|
DB: postgres
|
86
86
|
RAILS: ${{ matrix.rails }}
|
data/CHANGELOG.md
CHANGED
@@ -2,30 +2,36 @@
|
|
2
2
|
|
3
3
|
## Unreleased
|
4
4
|
|
5
|
-
##
|
5
|
+
## 4.2.0 - 2023-10-23
|
6
|
+
|
7
|
+
* Add Rails 7.2 support by @robinator and @gregmolnar
|
8
|
+
|
9
|
+
## 4.1.0 - 2023-10-23
|
10
|
+
|
11
|
+
### 🚀 Features
|
6
12
|
|
7
13
|
* Add Rails 7.1.0 support by @yuki24 in https://github.com/activerecord-hackery/ransack/pull/1439
|
8
14
|
|
9
|
-
|
15
|
+
### 🐛 Bug Fixes
|
10
16
|
|
11
17
|
* Fix wrong table aliases in Rails 6.1 by @oneiros in https://github.com/activerecord-hackery/ransack/pull/1447
|
12
18
|
|
13
|
-
|
19
|
+
### 💦 Compatibility
|
14
20
|
|
15
21
|
* Drop Ruby 2.7 support by @deivid-rodriguez in https://github.com/activerecord-hackery/ransack/pull/1449
|
16
22
|
|
17
|
-
|
23
|
+
### 📝 Documentation
|
18
24
|
|
19
25
|
* Update blog post link by @meg-gutshall in https://github.com/activerecord-hackery/ransack/pull/1425
|
20
26
|
* Add namespaced example of Polymorphic search by @craigmcnamara in https://github.com/activerecord-hackery/ransack/pull/1422
|
21
27
|
* Update sorting example to be self-contained by @kinduff in https://github.com/activerecord-hackery/ransack/pull/1442
|
22
28
|
|
23
|
-
|
29
|
+
### 💅 Polish
|
24
30
|
|
25
31
|
* Minor updates for Rails 7.1 by @deivid-rodriguez in https://github.com/activerecord-hackery/ransack/pull/1448
|
26
32
|
* Don't mention Ruby compatibility in contribution instructions by @deivid-rodriguez in https://github.com/activerecord-hackery/ransack/pull/1452
|
27
33
|
|
28
|
-
|
34
|
+
### 🏠 Internal
|
29
35
|
|
30
36
|
* Bump @sideway/formula from 3.0.0 to 3.0.1 in /docs by @dependabot in https://github.com/activerecord-hackery/ransack/pull/1417
|
31
37
|
* Bump webpack from 5.74.0 to 5.76.1 in /docs by @dependabot in https://github.com/activerecord-hackery/ransack/pull/1412
|
@@ -41,7 +47,7 @@
|
|
41
47
|
|
42
48
|
### 💥 Breaking Changes
|
43
49
|
|
44
|
-
* **[SECURITY]** Require
|
50
|
+
* **[SECURITY]** Require explicit allowlisting of attributes and associations by @deivid-rodriguez in https://github.com/activerecord-hackery/ransack/pull/1400
|
45
51
|
* Remove Polyamorous entrypoint by @scarroll32 in https://github.com/activerecord-hackery/ransack/pull/1370
|
46
52
|
* Remove dead MongoDB code by @scarroll32 in https://github.com/activerecord-hackery/ransack/pull/1345
|
47
53
|
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -13,7 +13,7 @@ There are advanced searching solutions around, like ElasticSearch or Algolia. **
|
|
13
13
|
|
14
14
|
Ready to move beyond the basics? Use **advanced features** like i18n and extensive configuration options.
|
15
15
|
|
16
|
-
Ransack is supported for Rails 7.0, 6.1 on Ruby 3.
|
16
|
+
Ransack is supported for Rails 7.2, 7.1, 7.0, 6.1 on Ruby 3.1 and later.
|
17
17
|
|
18
18
|
## Installation
|
19
19
|
|
data/docs/yarn.lock
CHANGED
@@ -3669,21 +3669,21 @@ binary-extensions@^2.0.0:
|
|
3669
3669
|
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
|
3670
3670
|
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
|
3671
3671
|
|
3672
|
-
body-parser@1.20.
|
3673
|
-
version "1.20.
|
3674
|
-
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.
|
3675
|
-
integrity sha512-
|
3672
|
+
body-parser@1.20.2:
|
3673
|
+
version "1.20.2"
|
3674
|
+
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd"
|
3675
|
+
integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==
|
3676
3676
|
dependencies:
|
3677
3677
|
bytes "3.1.2"
|
3678
|
-
content-type "~1.0.
|
3678
|
+
content-type "~1.0.5"
|
3679
3679
|
debug "2.6.9"
|
3680
3680
|
depd "2.0.0"
|
3681
3681
|
destroy "1.2.0"
|
3682
3682
|
http-errors "2.0.0"
|
3683
3683
|
iconv-lite "0.4.24"
|
3684
3684
|
on-finished "2.4.1"
|
3685
|
-
qs "6.
|
3686
|
-
raw-body "2.5.
|
3685
|
+
qs "6.11.0"
|
3686
|
+
raw-body "2.5.2"
|
3687
3687
|
type-is "~1.6.18"
|
3688
3688
|
unpipe "1.0.0"
|
3689
3689
|
|
@@ -4146,6 +4146,11 @@ content-type@~1.0.4:
|
|
4146
4146
|
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
|
4147
4147
|
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
|
4148
4148
|
|
4149
|
+
content-type@~1.0.5:
|
4150
|
+
version "1.0.5"
|
4151
|
+
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
|
4152
|
+
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
|
4153
|
+
|
4149
4154
|
convert-source-map@^1.7.0:
|
4150
4155
|
version "1.8.0"
|
4151
4156
|
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369"
|
@@ -4158,10 +4163,10 @@ cookie-signature@1.0.6:
|
|
4158
4163
|
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
|
4159
4164
|
integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
|
4160
4165
|
|
4161
|
-
cookie@0.
|
4162
|
-
version "0.
|
4163
|
-
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.
|
4164
|
-
integrity sha512-
|
4166
|
+
cookie@0.6.0:
|
4167
|
+
version "0.6.0"
|
4168
|
+
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051"
|
4169
|
+
integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
|
4165
4170
|
|
4166
4171
|
copy-text-to-clipboard@^3.0.1:
|
4167
4172
|
version "3.0.1"
|
@@ -4851,16 +4856,16 @@ execa@^5.0.0:
|
|
4851
4856
|
strip-final-newline "^2.0.0"
|
4852
4857
|
|
4853
4858
|
express@^4.17.3:
|
4854
|
-
version "4.
|
4855
|
-
resolved "https://registry.yarnpkg.com/express/-/express-4.
|
4856
|
-
integrity sha512-
|
4859
|
+
version "4.19.2"
|
4860
|
+
resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465"
|
4861
|
+
integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==
|
4857
4862
|
dependencies:
|
4858
4863
|
accepts "~1.3.8"
|
4859
4864
|
array-flatten "1.1.1"
|
4860
|
-
body-parser "1.20.
|
4865
|
+
body-parser "1.20.2"
|
4861
4866
|
content-disposition "0.5.4"
|
4862
4867
|
content-type "~1.0.4"
|
4863
|
-
cookie "0.
|
4868
|
+
cookie "0.6.0"
|
4864
4869
|
cookie-signature "1.0.6"
|
4865
4870
|
debug "2.6.9"
|
4866
4871
|
depd "2.0.0"
|
@@ -4876,7 +4881,7 @@ express@^4.17.3:
|
|
4876
4881
|
parseurl "~1.3.3"
|
4877
4882
|
path-to-regexp "0.1.7"
|
4878
4883
|
proxy-addr "~2.0.7"
|
4879
|
-
qs "6.
|
4884
|
+
qs "6.11.0"
|
4880
4885
|
range-parser "~1.2.1"
|
4881
4886
|
safe-buffer "5.2.1"
|
4882
4887
|
send "0.18.0"
|
@@ -7153,10 +7158,10 @@ pure-color@^1.2.0:
|
|
7153
7158
|
resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e"
|
7154
7159
|
integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==
|
7155
7160
|
|
7156
|
-
qs@6.
|
7157
|
-
version "6.
|
7158
|
-
resolved "https://registry.yarnpkg.com/qs/-/qs-6.
|
7159
|
-
integrity sha512-
|
7161
|
+
qs@6.11.0:
|
7162
|
+
version "6.11.0"
|
7163
|
+
resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
|
7164
|
+
integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
|
7160
7165
|
dependencies:
|
7161
7166
|
side-channel "^1.0.4"
|
7162
7167
|
|
@@ -7194,10 +7199,10 @@ range-parser@^1.2.1, range-parser@~1.2.1:
|
|
7194
7199
|
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
|
7195
7200
|
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
|
7196
7201
|
|
7197
|
-
raw-body@2.5.
|
7198
|
-
version "2.5.
|
7199
|
-
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.
|
7200
|
-
integrity sha512-
|
7202
|
+
raw-body@2.5.2:
|
7203
|
+
version "2.5.2"
|
7204
|
+
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
|
7205
|
+
integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
|
7201
7206
|
dependencies:
|
7202
7207
|
bytes "3.1.2"
|
7203
7208
|
http-errors "2.0.0"
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module Polyamorous
|
2
|
+
module JoinAssociationExtensions
|
3
|
+
# Same as #join_constraints, but instead of constructing tables from the
|
4
|
+
# given block, uses the ones passed
|
5
|
+
def join_constraints_with_tables(foreign_table, foreign_klass, join_type, alias_tracker, tables)
|
6
|
+
joins = []
|
7
|
+
chain = []
|
8
|
+
|
9
|
+
reflection.chain.each.with_index do |reflection, i|
|
10
|
+
table = tables[i]
|
11
|
+
|
12
|
+
@table ||= table
|
13
|
+
chain << [reflection, table]
|
14
|
+
end
|
15
|
+
|
16
|
+
base_klass.with_connection do |connection|
|
17
|
+
# The chain starts with the target table, but we want to end with it here (makes
|
18
|
+
# more sense in this context), so we reverse
|
19
|
+
chain.reverse_each do |reflection, table|
|
20
|
+
klass = reflection.klass
|
21
|
+
|
22
|
+
join_scope = reflection.join_scope(table, foreign_table, foreign_klass)
|
23
|
+
|
24
|
+
unless join_scope.references_values.empty?
|
25
|
+
join_dependency = join_scope.construct_join_dependency(
|
26
|
+
join_scope.eager_load_values | join_scope.includes_values, Arel::Nodes::OuterJoin
|
27
|
+
)
|
28
|
+
join_scope.joins!(join_dependency)
|
29
|
+
end
|
30
|
+
|
31
|
+
arel = join_scope.arel(alias_tracker.aliases)
|
32
|
+
nodes = arel.constraints.first
|
33
|
+
|
34
|
+
if nodes.is_a?(Arel::Nodes::And)
|
35
|
+
others = nodes.children.extract! do |node|
|
36
|
+
!Arel.fetch_attribute(node) { |attr| attr.relation.name == table.name }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
joins << table.create_join(table, table.create_on(nodes), join_type)
|
41
|
+
|
42
|
+
if others && !others.empty?
|
43
|
+
joins.concat arel.join_sources
|
44
|
+
append_constraints(connection, joins.last, others)
|
45
|
+
end
|
46
|
+
|
47
|
+
# The current table in this iteration becomes the foreign table in the next
|
48
|
+
foreign_table, foreign_klass = table, klass
|
49
|
+
end
|
50
|
+
|
51
|
+
joins
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -15,6 +15,10 @@ if defined?(::ActiveRecord)
|
|
15
15
|
require 'polyamorous/activerecord/join_dependency'
|
16
16
|
require 'polyamorous/activerecord/reflection'
|
17
17
|
|
18
|
+
if ::ActiveRecord.version > ::Gem::Version.new("7.1")
|
19
|
+
require "polyamorous/activerecord/join_association_7_2"
|
20
|
+
end
|
21
|
+
|
18
22
|
ActiveRecord::Reflection::AbstractReflection.send(:prepend, Polyamorous::ReflectionExtensions)
|
19
23
|
|
20
24
|
Polyamorous::JoinDependency.send(:prepend, Polyamorous::JoinDependencyExtensions)
|
@@ -110,7 +110,7 @@ module Ransack
|
|
110
110
|
#
|
111
111
|
def join_sources
|
112
112
|
base, joins = begin
|
113
|
-
alias_tracker =
|
113
|
+
alias_tracker = @object.alias_tracker
|
114
114
|
constraints = @join_dependency.join_constraints(@object.joins_values, alias_tracker, @object.references_values)
|
115
115
|
|
116
116
|
[
|
@@ -278,7 +278,7 @@ module Ransack
|
|
278
278
|
|
279
279
|
join_list = join_nodes + convert_join_strings_to_ast(relation.table, string_joins)
|
280
280
|
|
281
|
-
alias_tracker =
|
281
|
+
alias_tracker = relation.alias_tracker(join_list)
|
282
282
|
join_dependency = Polyamorous::JoinDependency.new(relation.klass, relation.table, association_joins, Arel::Nodes::OuterJoin)
|
283
283
|
join_dependency.instance_variable_set(:@alias_tracker, alias_tracker)
|
284
284
|
join_nodes.each do |join|
|
data/lib/ransack/context.rb
CHANGED
@@ -152,16 +152,16 @@ module Ransack
|
|
152
152
|
end
|
153
153
|
|
154
154
|
def ransackable_alias(str)
|
155
|
-
klass._ransack_aliases.fetch(str, str)
|
155
|
+
klass._ransack_aliases.fetch(str, klass._ransack_aliases.fetch(str.to_sym, str))
|
156
156
|
end
|
157
157
|
|
158
158
|
def ransackable_attribute?(str, klass)
|
159
|
-
klass.ransackable_attributes(auth_object).
|
160
|
-
klass.ransortable_attributes(auth_object).
|
159
|
+
klass.ransackable_attributes(auth_object).any? { |s| s.to_sym == str.to_sym } ||
|
160
|
+
klass.ransortable_attributes(auth_object).any? { |s| s.to_sym == str.to_sym }
|
161
161
|
end
|
162
162
|
|
163
163
|
def ransackable_association?(str, klass)
|
164
|
-
klass.ransackable_associations(auth_object).
|
164
|
+
klass.ransackable_associations(auth_object).any? { |s| s.to_sym == str.to_sym }
|
165
165
|
end
|
166
166
|
|
167
167
|
def ransackable_scope?(str, klass)
|
data/lib/ransack/version.rb
CHANGED
data/lib/ransack.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ransack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ernie Miller
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2024-07-10 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activerecord
|
@@ -141,6 +141,7 @@ files:
|
|
141
141
|
- docs/static/logo/ransack.svg
|
142
142
|
- docs/yarn.lock
|
143
143
|
- lib/polyamorous/activerecord/join_association.rb
|
144
|
+
- lib/polyamorous/activerecord/join_association_7_2.rb
|
144
145
|
- lib/polyamorous/activerecord/join_dependency.rb
|
145
146
|
- lib/polyamorous/activerecord/reflection.rb
|
146
147
|
- lib/polyamorous/join.rb
|
@@ -243,34 +244,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
244
|
- !ruby/object:Gem::Version
|
244
245
|
version: '0'
|
245
246
|
requirements: []
|
246
|
-
rubygems_version: 3.
|
247
|
+
rubygems_version: 3.5.3
|
247
248
|
signing_key:
|
248
249
|
specification_version: 4
|
249
250
|
summary: Object-based searching for Active Record.
|
250
|
-
test_files:
|
251
|
-
- spec/blueprints/articles.rb
|
252
|
-
- spec/blueprints/comments.rb
|
253
|
-
- spec/blueprints/notes.rb
|
254
|
-
- spec/blueprints/people.rb
|
255
|
-
- spec/blueprints/tags.rb
|
256
|
-
- spec/console.rb
|
257
|
-
- spec/helpers/polyamorous_helper.rb
|
258
|
-
- spec/helpers/ransack_helper.rb
|
259
|
-
- spec/polyamorous/activerecord_compatibility_spec.rb
|
260
|
-
- spec/polyamorous/join_association_spec.rb
|
261
|
-
- spec/polyamorous/join_dependency_spec.rb
|
262
|
-
- spec/polyamorous/join_spec.rb
|
263
|
-
- spec/ransack/adapters/active_record/base_spec.rb
|
264
|
-
- spec/ransack/adapters/active_record/context_spec.rb
|
265
|
-
- spec/ransack/configuration_spec.rb
|
266
|
-
- spec/ransack/helpers/form_builder_spec.rb
|
267
|
-
- spec/ransack/helpers/form_helper_spec.rb
|
268
|
-
- spec/ransack/nodes/condition_spec.rb
|
269
|
-
- spec/ransack/nodes/grouping_spec.rb
|
270
|
-
- spec/ransack/nodes/value_spec.rb
|
271
|
-
- spec/ransack/predicate_spec.rb
|
272
|
-
- spec/ransack/search_spec.rb
|
273
|
-
- spec/ransack/translate_spec.rb
|
274
|
-
- spec/spec_helper.rb
|
275
|
-
- spec/support/en.yml
|
276
|
-
- spec/support/schema.rb
|
251
|
+
test_files: []
|