ransack 4.1.1 → 4.2.0
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 +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: []
|