ransack 4.0.0 → 4.1.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/cronjob.yml +6 -9
- data/.github/workflows/deploy.yml +1 -1
- data/.github/workflows/rubocop.yml +2 -2
- data/.github/workflows/test-deploy.yml +1 -1
- data/.github/workflows/test.yml +17 -14
- data/.rubocop.yml +4 -1
- data/CHANGELOG.md +35 -0
- data/CONTRIBUTING.md +7 -10
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/bug_report_templates/test-ransack-scope-and-column-same-name.rb +1 -1
- data/bug_report_templates/test-ransacker-arel-present-predicate.rb +1 -1
- data/docs/docs/getting-started/sorting.md +45 -53
- data/docs/docs/going-further/other-notes.md +1 -1
- data/docs/docs/going-further/polymorphic-search.md +6 -0
- data/docs/yarn.lock +147 -58
- data/lib/polyamorous/activerecord_6.1_ruby_2/join_dependency.rb +14 -4
- data/lib/ransack/adapters/active_record/context.rb +2 -1
- data/lib/ransack/version.rb +1 -1
- data/ransack.gemspec +1 -1
- data/spec/ransack/adapters/active_record/base_spec.rb +16 -0
- data/spec/support/schema.rb +28 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e7ffa826fc3c1a2a916cc9b110bf232dbc994a51ff82472756709870fda224b
|
4
|
+
data.tar.gz: ebb0692d5d5a77bb8453f95a9880796b36eea92f946270cd7bf81c2f7ef17125
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de93968c12dd7d01bdac595d9930f3ade8563ac33cad4b071dfddc97eb57b530e0a971463db88db6c6b7abd1f93ae981ca0074fe656c860319b8d876430dd887
|
7
|
+
data.tar.gz: 4d965f3bcb30285e20c26ab96d823f970f76bb7c36032c2e0eecbe7f6192f5a59079ea27ca63dc50111e9cc197dcc839837f356967c280a9b30bfcbece13a36d
|
@@ -6,13 +6,12 @@ on:
|
|
6
6
|
|
7
7
|
jobs:
|
8
8
|
sqlite3:
|
9
|
-
runs-on: ubuntu-
|
9
|
+
runs-on: ubuntu-22.04
|
10
10
|
strategy:
|
11
11
|
fail-fast: false
|
12
12
|
matrix:
|
13
13
|
ruby:
|
14
|
-
- 3.
|
15
|
-
- 2.7.4
|
14
|
+
- 3.2.2
|
16
15
|
env:
|
17
16
|
DB: sqlite3
|
18
17
|
RAILS: main
|
@@ -28,13 +27,12 @@ jobs:
|
|
28
27
|
run: bundle exec rspec
|
29
28
|
|
30
29
|
mysql:
|
31
|
-
runs-on: ubuntu-
|
30
|
+
runs-on: ubuntu-22.04
|
32
31
|
strategy:
|
33
32
|
fail-fast: false
|
34
33
|
matrix:
|
35
34
|
ruby:
|
36
|
-
- 3.
|
37
|
-
- 2.7.4
|
35
|
+
- 3.2.2
|
38
36
|
env:
|
39
37
|
DB: mysql
|
40
38
|
RAILS: main
|
@@ -59,13 +57,12 @@ jobs:
|
|
59
57
|
run: bundle exec rspec
|
60
58
|
|
61
59
|
postgres:
|
62
|
-
runs-on: ubuntu-
|
60
|
+
runs-on: ubuntu-22.04
|
63
61
|
strategy:
|
64
62
|
fail-fast: false
|
65
63
|
matrix:
|
66
64
|
ruby:
|
67
|
-
- 3.
|
68
|
-
- 2.7.4
|
65
|
+
- 3.2.2
|
69
66
|
env:
|
70
67
|
DB: postgres
|
71
68
|
RAILS: main
|
@@ -6,14 +6,14 @@ on:
|
|
6
6
|
|
7
7
|
jobs:
|
8
8
|
build:
|
9
|
-
runs-on: ubuntu-
|
9
|
+
runs-on: ubuntu-22.04
|
10
10
|
|
11
11
|
steps:
|
12
12
|
- uses: actions/checkout@v2
|
13
13
|
- name: Set up Ruby
|
14
14
|
uses: ruby/setup-ruby@v1
|
15
15
|
with:
|
16
|
-
ruby-version: 3.
|
16
|
+
ruby-version: 3.2.2
|
17
17
|
- name: Install gems
|
18
18
|
run: bundle install --jobs 4 --retry 3
|
19
19
|
- name: Run RuboCop
|
data/.github/workflows/test.yml
CHANGED
@@ -8,17 +8,18 @@ on:
|
|
8
8
|
|
9
9
|
jobs:
|
10
10
|
sqlite3:
|
11
|
-
runs-on: ubuntu-
|
11
|
+
runs-on: ubuntu-22.04
|
12
12
|
strategy:
|
13
13
|
fail-fast: false
|
14
14
|
matrix:
|
15
15
|
rails:
|
16
|
+
- v7.1.0
|
16
17
|
- v7.0.3
|
17
18
|
- v6.1.6
|
18
19
|
ruby:
|
19
|
-
- 3.
|
20
|
-
- 3.
|
21
|
-
-
|
20
|
+
- 3.2.2
|
21
|
+
- 3.1.4
|
22
|
+
- 3.0.6
|
22
23
|
env:
|
23
24
|
DB: sqlite3
|
24
25
|
RAILS: ${{ matrix.rails }}
|
@@ -33,17 +34,18 @@ jobs:
|
|
33
34
|
run: bundle exec rspec
|
34
35
|
|
35
36
|
mysql:
|
36
|
-
runs-on: ubuntu-
|
37
|
+
runs-on: ubuntu-22.04
|
37
38
|
strategy:
|
38
39
|
fail-fast: false
|
39
40
|
matrix:
|
40
41
|
rails:
|
42
|
+
- v7.1.0
|
41
43
|
- v7.0.3
|
42
44
|
- v6.1.6
|
43
45
|
ruby:
|
44
|
-
- 3.
|
45
|
-
- 3.
|
46
|
-
-
|
46
|
+
- 3.2.2
|
47
|
+
- 3.1.4
|
48
|
+
- 3.0.6
|
47
49
|
env:
|
48
50
|
DB: mysql
|
49
51
|
RAILS: ${{ matrix.rails }}
|
@@ -67,17 +69,18 @@ jobs:
|
|
67
69
|
run: bundle exec rspec
|
68
70
|
|
69
71
|
postgres:
|
70
|
-
runs-on: ubuntu-
|
72
|
+
runs-on: ubuntu-22.04
|
71
73
|
strategy:
|
72
74
|
fail-fast: false
|
73
75
|
matrix:
|
74
76
|
rails:
|
77
|
+
- v7.1.0
|
75
78
|
- v7.0.3
|
76
79
|
- v6.1.6
|
77
80
|
ruby:
|
78
|
-
- 3.
|
79
|
-
- 3.
|
80
|
-
-
|
81
|
+
- 3.2.2
|
82
|
+
- 3.1.4
|
83
|
+
- 3.0.6
|
81
84
|
env:
|
82
85
|
DB: postgres
|
83
86
|
RAILS: ${{ matrix.rails }}
|
@@ -113,13 +116,13 @@ jobs:
|
|
113
116
|
run: bundle exec rspec
|
114
117
|
|
115
118
|
bug-report-templates:
|
116
|
-
runs-on: ubuntu-
|
119
|
+
runs-on: ubuntu-22.04
|
117
120
|
steps:
|
118
121
|
- uses: actions/checkout@v2
|
119
122
|
- name: Set up Ruby
|
120
123
|
uses: ruby/setup-ruby@v1
|
121
124
|
with:
|
122
|
-
ruby-version: 3.
|
125
|
+
ruby-version: 3.2.2
|
123
126
|
bundler-cache: true
|
124
127
|
- name: Run bug report templates
|
125
128
|
run: |
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,41 @@
|
|
2
2
|
|
3
3
|
## Unreleased
|
4
4
|
|
5
|
+
## 🚀 Features
|
6
|
+
|
7
|
+
* Add Rails 7.1.0 support by @yuki24 in https://github.com/activerecord-hackery/ransack/pull/1439
|
8
|
+
|
9
|
+
## 🐛 Bug Fixes
|
10
|
+
|
11
|
+
* Fix wrong table aliases in Rails 6.1 by @oneiros in https://github.com/activerecord-hackery/ransack/pull/1447
|
12
|
+
|
13
|
+
## 💦 Compatibility
|
14
|
+
|
15
|
+
* Drop Ruby 2.7 support by @deivid-rodriguez in https://github.com/activerecord-hackery/ransack/pull/1449
|
16
|
+
|
17
|
+
## 📝 Documentation
|
18
|
+
|
19
|
+
* Update blog post link by @meg-gutshall in https://github.com/activerecord-hackery/ransack/pull/1425
|
20
|
+
* Add namespaced example of Polymorphic search by @craigmcnamara in https://github.com/activerecord-hackery/ransack/pull/1422
|
21
|
+
* Update sorting example to be self-contained by @kinduff in https://github.com/activerecord-hackery/ransack/pull/1442
|
22
|
+
|
23
|
+
## 💅 Polish
|
24
|
+
|
25
|
+
* Minor updates for Rails 7.1 by @deivid-rodriguez in https://github.com/activerecord-hackery/ransack/pull/1448
|
26
|
+
* Don't mention Ruby compatibility in contribution instructions by @deivid-rodriguez in https://github.com/activerecord-hackery/ransack/pull/1452
|
27
|
+
|
28
|
+
## 🏠 Internal
|
29
|
+
|
30
|
+
* 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
|
+
* Bump webpack from 5.74.0 to 5.76.1 in /docs by @dependabot in https://github.com/activerecord-hackery/ransack/pull/1412
|
32
|
+
* Bump semver from 5.7.1 to 5.7.2 in /docs by @dependabot in https://github.com/activerecord-hackery/ransack/pull/1431
|
33
|
+
* Bump @babel/traverse from 7.18.2 to 7.23.2 in /docs by @dependabot in https://github.com/activerecord-hackery/ransack/pull/1446
|
34
|
+
* Bump postcss from 8.4.14 to 8.4.31 in /docs by @dependabot in https://github.com/activerecord-hackery/ransack/pull/1443
|
35
|
+
* Bump dns-packet from 5.3.1 to 5.6.1 in /docs by @dependabot in https://github.com/activerecord-hackery/ransack/pull/1450
|
36
|
+
* Test with Ruby 3.2 by @deivid-rodriguez in https://github.com/activerecord-hackery/ransack/pull/1451
|
37
|
+
* Misc CI bumps by @deivid-rodriguez in https://github.com/activerecord-hackery/ransack/pull/1453
|
38
|
+
* RuboCop tweaks by @deivid-rodriguez in https://github.com/activerecord-hackery/ransack/pull/1454
|
39
|
+
|
5
40
|
## 4.0.0 - 2023-02-09
|
6
41
|
|
7
42
|
### 💥 Breaking Changes
|
data/CONTRIBUTING.md
CHANGED
@@ -115,35 +115,32 @@ Here's a quick guide:
|
|
115
115
|
bundle exec rspec spec/ransack/search_spec.rb -e "accepts a context option"
|
116
116
|
```
|
117
117
|
|
118
|
-
5.
|
119
|
-
Since version 2.3.1, Ransack no longer maintains Ruby 2.2 compatibility.
|
120
|
-
|
121
|
-
6. Add tests for your changes. Only refactoring and documentation changes
|
118
|
+
5. Add tests for your changes. Only refactoring and documentation changes
|
122
119
|
require no new tests. If you are adding functionality or fixing a bug, we
|
123
120
|
need a test!
|
124
121
|
|
125
|
-
|
122
|
+
6. Make the tests pass.
|
126
123
|
|
127
|
-
|
124
|
+
7. Update the Change Log. If you are adding new functionality, document it in
|
128
125
|
the README.
|
129
126
|
|
130
|
-
|
127
|
+
8. Make sure git knows your name and email address in your `~/.gitconfig` file:
|
131
128
|
|
132
129
|
```sh
|
133
130
|
git config --global user.name "Your Name"
|
134
131
|
git config --global user.email "contributor@example.com"
|
135
132
|
```
|
136
133
|
|
137
|
-
|
134
|
+
9. Commit your changes (`git commit -am 'Add feature/fix bug/improve docs'`).
|
138
135
|
If your pull request only contains documentation changes, please remember
|
139
136
|
to add `[skip ci]` to the beginning of your commit message so the CI
|
140
137
|
test suite doesn't :runner: needlessly.
|
141
138
|
|
142
|
-
|
139
|
+
10. If necessary, rebase your commits into logical chunks, without errors. To
|
143
140
|
interactively rebase and cherry-pick from, say, the last 10 commits:
|
144
141
|
`git rebase -i HEAD~10`, then `git push -f`.
|
145
142
|
|
146
|
-
|
143
|
+
11. Push the branch up to your fork on GitHub
|
147
144
|
(`git push origin my-new-feature`) and from GitHub submit a pull request to
|
148
145
|
Ransack's `main` branch.
|
149
146
|
|
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
|
16
|
+
Ransack is supported for Rails 7.0, 6.1 on Ruby 3.0 and later.
|
17
17
|
|
18
18
|
## Installation
|
19
19
|
|
@@ -10,70 +10,62 @@ title: Sorting
|
|
10
10
|
You can add a form to capture sorting and filtering options together.
|
11
11
|
|
12
12
|
```erb
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
<
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
<
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
<div class="form-group">
|
39
|
-
<%= f.label :readability_gteq, t('Readability') %> >=
|
40
|
-
<%= f.search_field :readability_gteq %>
|
41
|
-
</div>
|
42
|
-
|
43
|
-
<div class="form-group">
|
44
|
-
<i><%= @articles.total_count %> articles</i>
|
45
|
-
</div>
|
46
|
-
|
47
|
-
<div class="form-group">
|
48
|
-
<hr/>
|
49
|
-
<div class="filters-header-content">
|
50
|
-
<%= link_to request.path, class: 'form-link' do %>
|
51
|
-
<i class="far fa-undo icon-l"></i><%= t('Clear_all') %>
|
52
|
-
<% end %>
|
53
|
-
|
54
|
-
<%= f.submit t('Filter'), class: 'btn btn-primary' %>
|
55
|
-
</div>
|
56
|
-
</div>
|
13
|
+
# app/views/posts/index.html.erb
|
14
|
+
|
15
|
+
<%= search_form_for @q do |f| %>
|
16
|
+
<%= f.label :title_cont %>
|
17
|
+
<%= f.search_field :title_cont %>
|
18
|
+
|
19
|
+
<%= f.submit "Search" %>
|
20
|
+
<% end %>
|
21
|
+
|
22
|
+
<table>
|
23
|
+
<thead>
|
24
|
+
<tr>
|
25
|
+
<th><%= sort_link(@q, :title, "Title") %></th>
|
26
|
+
<th><%= sort_link(@q, :category, "Category") %></th>
|
27
|
+
<th><%= sort_link(@q, :created_at, "Created at") %></th>
|
28
|
+
</tr>
|
29
|
+
</thead>
|
30
|
+
|
31
|
+
<tbody>
|
32
|
+
<% @posts.each do |post| %>
|
33
|
+
<tr>
|
34
|
+
<td><%= post.title %></td>
|
35
|
+
<td><%= post.category %></td>
|
36
|
+
<td><%= post.created_at.to_s(:long) %></td>
|
37
|
+
</tr>
|
57
38
|
<% end %>
|
58
|
-
</
|
59
|
-
</
|
39
|
+
</tbody>
|
40
|
+
</table>
|
60
41
|
```
|
61
42
|
|
62
|
-
|
63
43
|
## Sorting in the Controller
|
64
44
|
|
65
45
|
To specify a default search sort field + order in the controller `index`:
|
66
46
|
|
67
47
|
```ruby
|
68
|
-
|
69
|
-
|
70
|
-
|
48
|
+
# app/controllers/posts_controller.rb
|
49
|
+
class PostsController < ActionController::Base
|
50
|
+
def index
|
51
|
+
@q = Post.ransack(params[:q])
|
52
|
+
@q.sorts = 'title asc' if @q.sorts.empty?
|
53
|
+
|
54
|
+
@posts = @q.result(distinct: true)
|
55
|
+
end
|
56
|
+
end
|
71
57
|
```
|
72
58
|
|
73
59
|
Multiple sorts can be set by:
|
74
60
|
|
75
61
|
```ruby
|
76
|
-
|
77
|
-
|
78
|
-
|
62
|
+
# app/controllers/posts_controller.rb
|
63
|
+
class PostsController < ActionController::Base
|
64
|
+
def index
|
65
|
+
@q = Post.ransack(params[:q])
|
66
|
+
@q.sorts = ['title asc', 'created_at desc'] if @q.sorts.empty?
|
67
|
+
|
68
|
+
@posts = @q.result(distinct: true)
|
69
|
+
end
|
70
|
+
end
|
79
71
|
```
|
@@ -182,7 +182,7 @@ for an `auth_object` key in the options hash which can be used by your own
|
|
182
182
|
overridden methods.
|
183
183
|
|
184
184
|
Here is an example that puts all this together, adapted from
|
185
|
-
[this blog post by Ernie Miller](
|
185
|
+
[this blog post by Ernie Miller](https://ernie.io/2012/05/11/why-your-ruby-class-macros-might-suck-mine-did/).
|
186
186
|
In an `Article` model, add the following `ransackable_attributes` class method
|
187
187
|
(preferably private):
|
188
188
|
|
@@ -38,3 +38,9 @@ Location.ransack(locatable_of_House_type_number_eq: 100).result
|
|
38
38
|
```
|
39
39
|
|
40
40
|
note the `_of_House_type_` added to the search key. This allows Ransack to correctly specify the table names in SQL join queries.
|
41
|
+
|
42
|
+
For namespaced models you should use a quoted string containing the standard Ruby module notation
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
Location.ransack('locatable_of_Residences::House_type_number_eq' => 100).result
|
46
|
+
```
|
data/docs/yarn.lock
CHANGED
@@ -152,6 +152,14 @@
|
|
152
152
|
dependencies:
|
153
153
|
"@babel/highlight" "^7.18.6"
|
154
154
|
|
155
|
+
"@babel/code-frame@^7.22.13":
|
156
|
+
version "7.22.13"
|
157
|
+
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
|
158
|
+
integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==
|
159
|
+
dependencies:
|
160
|
+
"@babel/highlight" "^7.22.13"
|
161
|
+
chalk "^2.4.2"
|
162
|
+
|
155
163
|
"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.17.10":
|
156
164
|
version "7.17.10"
|
157
165
|
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab"
|
@@ -235,7 +243,7 @@
|
|
235
243
|
"@jridgewell/gen-mapping" "^0.3.0"
|
236
244
|
jsesc "^2.5.1"
|
237
245
|
|
238
|
-
"@babel/generator@^7.18.7", "@babel/generator@^7.20.
|
246
|
+
"@babel/generator@^7.18.7", "@babel/generator@^7.20.2":
|
239
247
|
version "7.20.4"
|
240
248
|
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.4.tgz#4d9f8f0c30be75fd90a0562099a26e5839602ab8"
|
241
249
|
integrity sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==
|
@@ -244,6 +252,16 @@
|
|
244
252
|
"@jridgewell/gen-mapping" "^0.3.2"
|
245
253
|
jsesc "^2.5.1"
|
246
254
|
|
255
|
+
"@babel/generator@^7.23.0":
|
256
|
+
version "7.23.0"
|
257
|
+
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420"
|
258
|
+
integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==
|
259
|
+
dependencies:
|
260
|
+
"@babel/types" "^7.23.0"
|
261
|
+
"@jridgewell/gen-mapping" "^0.3.2"
|
262
|
+
"@jridgewell/trace-mapping" "^0.3.17"
|
263
|
+
jsesc "^2.5.1"
|
264
|
+
|
247
265
|
"@babel/helper-annotate-as-pure@^7.16.7":
|
248
266
|
version "7.16.7"
|
249
267
|
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
|
@@ -372,6 +390,11 @@
|
|
372
390
|
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
|
373
391
|
integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
|
374
392
|
|
393
|
+
"@babel/helper-environment-visitor@^7.22.20":
|
394
|
+
version "7.22.20"
|
395
|
+
resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
|
396
|
+
integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
|
397
|
+
|
375
398
|
"@babel/helper-explode-assignable-expression@^7.16.7":
|
376
399
|
version "7.16.7"
|
377
400
|
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a"
|
@@ -402,6 +425,14 @@
|
|
402
425
|
"@babel/template" "^7.18.10"
|
403
426
|
"@babel/types" "^7.19.0"
|
404
427
|
|
428
|
+
"@babel/helper-function-name@^7.23.0":
|
429
|
+
version "7.23.0"
|
430
|
+
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
|
431
|
+
integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
|
432
|
+
dependencies:
|
433
|
+
"@babel/template" "^7.22.15"
|
434
|
+
"@babel/types" "^7.23.0"
|
435
|
+
|
405
436
|
"@babel/helper-hoist-variables@^7.16.7":
|
406
437
|
version "7.16.7"
|
407
438
|
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
|
@@ -416,6 +447,13 @@
|
|
416
447
|
dependencies:
|
417
448
|
"@babel/types" "^7.18.6"
|
418
449
|
|
450
|
+
"@babel/helper-hoist-variables@^7.22.5":
|
451
|
+
version "7.22.5"
|
452
|
+
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
|
453
|
+
integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
|
454
|
+
dependencies:
|
455
|
+
"@babel/types" "^7.22.5"
|
456
|
+
|
419
457
|
"@babel/helper-member-expression-to-functions@^7.17.7":
|
420
458
|
version "7.17.7"
|
421
459
|
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4"
|
@@ -584,11 +622,23 @@
|
|
584
622
|
dependencies:
|
585
623
|
"@babel/types" "^7.18.6"
|
586
624
|
|
625
|
+
"@babel/helper-split-export-declaration@^7.22.6":
|
626
|
+
version "7.22.6"
|
627
|
+
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
|
628
|
+
integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
|
629
|
+
dependencies:
|
630
|
+
"@babel/types" "^7.22.5"
|
631
|
+
|
587
632
|
"@babel/helper-string-parser@^7.19.4":
|
588
633
|
version "7.19.4"
|
589
634
|
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
|
590
635
|
integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
|
591
636
|
|
637
|
+
"@babel/helper-string-parser@^7.22.5":
|
638
|
+
version "7.22.5"
|
639
|
+
resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
|
640
|
+
integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
|
641
|
+
|
592
642
|
"@babel/helper-validator-identifier@^7.16.7":
|
593
643
|
version "7.16.7"
|
594
644
|
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
|
@@ -599,6 +649,11 @@
|
|
599
649
|
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
|
600
650
|
integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
|
601
651
|
|
652
|
+
"@babel/helper-validator-identifier@^7.22.20":
|
653
|
+
version "7.22.20"
|
654
|
+
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
|
655
|
+
integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
|
656
|
+
|
602
657
|
"@babel/helper-validator-option@^7.16.7":
|
603
658
|
version "7.16.7"
|
604
659
|
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
|
@@ -665,16 +720,30 @@
|
|
665
720
|
chalk "^2.0.0"
|
666
721
|
js-tokens "^4.0.0"
|
667
722
|
|
723
|
+
"@babel/highlight@^7.22.13":
|
724
|
+
version "7.22.20"
|
725
|
+
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54"
|
726
|
+
integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==
|
727
|
+
dependencies:
|
728
|
+
"@babel/helper-validator-identifier" "^7.22.20"
|
729
|
+
chalk "^2.4.2"
|
730
|
+
js-tokens "^4.0.0"
|
731
|
+
|
668
732
|
"@babel/parser@^7.12.7", "@babel/parser@^7.16.7", "@babel/parser@^7.18.0":
|
669
733
|
version "7.18.4"
|
670
734
|
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef"
|
671
735
|
integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==
|
672
736
|
|
673
|
-
"@babel/parser@^7.18.10", "@babel/parser@^7.18.8", "@babel/parser@^7.20.
|
737
|
+
"@babel/parser@^7.18.10", "@babel/parser@^7.18.8", "@babel/parser@^7.20.2":
|
674
738
|
version "7.20.3"
|
675
739
|
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2"
|
676
740
|
integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==
|
677
741
|
|
742
|
+
"@babel/parser@^7.22.15", "@babel/parser@^7.23.0":
|
743
|
+
version "7.23.0"
|
744
|
+
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719"
|
745
|
+
integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==
|
746
|
+
|
678
747
|
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.17.12":
|
679
748
|
version "7.17.12"
|
680
749
|
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz#1dca338caaefca368639c9ffb095afbd4d420b1e"
|
@@ -1980,35 +2049,28 @@
|
|
1980
2049
|
"@babel/parser" "^7.18.10"
|
1981
2050
|
"@babel/types" "^7.18.10"
|
1982
2051
|
|
1983
|
-
"@babel/
|
1984
|
-
version "7.
|
1985
|
-
resolved "https://registry.yarnpkg.com/@babel/
|
1986
|
-
integrity sha512-
|
1987
|
-
dependencies:
|
1988
|
-
"@babel/code-frame" "^7.
|
1989
|
-
"@babel/
|
1990
|
-
"@babel/
|
1991
|
-
|
1992
|
-
|
1993
|
-
|
1994
|
-
|
1995
|
-
|
1996
|
-
|
1997
|
-
|
1998
|
-
|
1999
|
-
"@babel/
|
2000
|
-
|
2001
|
-
|
2002
|
-
|
2003
|
-
|
2004
|
-
"@babel/
|
2005
|
-
"@babel/generator" "^7.20.1"
|
2006
|
-
"@babel/helper-environment-visitor" "^7.18.9"
|
2007
|
-
"@babel/helper-function-name" "^7.19.0"
|
2008
|
-
"@babel/helper-hoist-variables" "^7.18.6"
|
2009
|
-
"@babel/helper-split-export-declaration" "^7.18.6"
|
2010
|
-
"@babel/parser" "^7.20.1"
|
2011
|
-
"@babel/types" "^7.20.0"
|
2052
|
+
"@babel/template@^7.22.15":
|
2053
|
+
version "7.22.15"
|
2054
|
+
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
|
2055
|
+
integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
|
2056
|
+
dependencies:
|
2057
|
+
"@babel/code-frame" "^7.22.13"
|
2058
|
+
"@babel/parser" "^7.22.15"
|
2059
|
+
"@babel/types" "^7.22.15"
|
2060
|
+
|
2061
|
+
"@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.0", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.8", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.20.1":
|
2062
|
+
version "7.23.2"
|
2063
|
+
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8"
|
2064
|
+
integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==
|
2065
|
+
dependencies:
|
2066
|
+
"@babel/code-frame" "^7.22.13"
|
2067
|
+
"@babel/generator" "^7.23.0"
|
2068
|
+
"@babel/helper-environment-visitor" "^7.22.20"
|
2069
|
+
"@babel/helper-function-name" "^7.23.0"
|
2070
|
+
"@babel/helper-hoist-variables" "^7.22.5"
|
2071
|
+
"@babel/helper-split-export-declaration" "^7.22.6"
|
2072
|
+
"@babel/parser" "^7.23.0"
|
2073
|
+
"@babel/types" "^7.23.0"
|
2012
2074
|
debug "^4.1.0"
|
2013
2075
|
globals "^11.1.0"
|
2014
2076
|
|
@@ -2029,6 +2091,15 @@
|
|
2029
2091
|
"@babel/helper-validator-identifier" "^7.19.1"
|
2030
2092
|
to-fast-properties "^2.0.0"
|
2031
2093
|
|
2094
|
+
"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0":
|
2095
|
+
version "7.23.0"
|
2096
|
+
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb"
|
2097
|
+
integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==
|
2098
|
+
dependencies:
|
2099
|
+
"@babel/helper-string-parser" "^7.22.5"
|
2100
|
+
"@babel/helper-validator-identifier" "^7.22.20"
|
2101
|
+
to-fast-properties "^2.0.0"
|
2102
|
+
|
2032
2103
|
"@colors/colors@1.5.0":
|
2033
2104
|
version "1.5.0"
|
2034
2105
|
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
|
@@ -2510,6 +2581,11 @@
|
|
2510
2581
|
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
|
2511
2582
|
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
|
2512
2583
|
|
2584
|
+
"@jridgewell/resolve-uri@^3.1.0":
|
2585
|
+
version "3.1.1"
|
2586
|
+
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
|
2587
|
+
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
|
2588
|
+
|
2513
2589
|
"@jridgewell/set-array@^1.0.0":
|
2514
2590
|
version "1.1.1"
|
2515
2591
|
resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea"
|
@@ -2533,6 +2609,11 @@
|
|
2533
2609
|
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
|
2534
2610
|
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
|
2535
2611
|
|
2612
|
+
"@jridgewell/sourcemap-codec@^1.4.14":
|
2613
|
+
version "1.4.15"
|
2614
|
+
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
|
2615
|
+
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
|
2616
|
+
|
2536
2617
|
"@jridgewell/trace-mapping@^0.3.14":
|
2537
2618
|
version "0.3.17"
|
2538
2619
|
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
|
@@ -2541,6 +2622,14 @@
|
|
2541
2622
|
"@jridgewell/resolve-uri" "3.1.0"
|
2542
2623
|
"@jridgewell/sourcemap-codec" "1.4.14"
|
2543
2624
|
|
2625
|
+
"@jridgewell/trace-mapping@^0.3.17":
|
2626
|
+
version "0.3.20"
|
2627
|
+
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f"
|
2628
|
+
integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==
|
2629
|
+
dependencies:
|
2630
|
+
"@jridgewell/resolve-uri" "^3.1.0"
|
2631
|
+
"@jridgewell/sourcemap-codec" "^1.4.14"
|
2632
|
+
|
2544
2633
|
"@jridgewell/trace-mapping@^0.3.7":
|
2545
2634
|
version "0.3.13"
|
2546
2635
|
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea"
|
@@ -2715,9 +2804,9 @@
|
|
2715
2804
|
"@hapi/hoek" "^9.0.0"
|
2716
2805
|
|
2717
2806
|
"@sideway/formula@^3.0.0":
|
2718
|
-
version "3.0.
|
2719
|
-
resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.
|
2720
|
-
integrity sha512
|
2807
|
+
version "3.0.1"
|
2808
|
+
resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f"
|
2809
|
+
integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==
|
2721
2810
|
|
2722
2811
|
"@sideway/pinpoint@^2.0.0":
|
2723
2812
|
version "2.0.0"
|
@@ -3766,7 +3855,7 @@ ccount@^1.0.0:
|
|
3766
3855
|
resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043"
|
3767
3856
|
integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==
|
3768
3857
|
|
3769
|
-
chalk@^2.0.0:
|
3858
|
+
chalk@^2.0.0, chalk@^2.4.2:
|
3770
3859
|
version "2.4.2"
|
3771
3860
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
3772
3861
|
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
|
@@ -4483,9 +4572,9 @@ dns-equal@^1.0.0:
|
|
4483
4572
|
integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==
|
4484
4573
|
|
4485
4574
|
dns-packet@^5.2.2:
|
4486
|
-
version "5.
|
4487
|
-
resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.
|
4488
|
-
integrity sha512-
|
4575
|
+
version "5.6.1"
|
4576
|
+
resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f"
|
4577
|
+
integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==
|
4489
4578
|
dependencies:
|
4490
4579
|
"@leichtgewicht/ip-codec" "^2.0.1"
|
4491
4580
|
|
@@ -6222,10 +6311,10 @@ multicast-dns@^7.2.5:
|
|
6222
6311
|
dns-packet "^5.2.2"
|
6223
6312
|
thunky "^1.0.2"
|
6224
6313
|
|
6225
|
-
nanoid@^3.3.
|
6226
|
-
version "3.3.
|
6227
|
-
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.
|
6228
|
-
integrity sha512-
|
6314
|
+
nanoid@^3.3.6:
|
6315
|
+
version "3.3.6"
|
6316
|
+
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
|
6317
|
+
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
|
6229
6318
|
|
6230
6319
|
negotiator@0.6.3:
|
6231
6320
|
version "0.6.3"
|
@@ -6954,11 +7043,11 @@ postcss-zindex@^5.1.0:
|
|
6954
7043
|
integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==
|
6955
7044
|
|
6956
7045
|
postcss@^8.3.11, postcss@^8.4.13, postcss@^8.4.14, postcss@^8.4.7:
|
6957
|
-
version "8.4.
|
6958
|
-
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.
|
6959
|
-
integrity sha512-
|
7046
|
+
version "8.4.31"
|
7047
|
+
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d"
|
7048
|
+
integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==
|
6960
7049
|
dependencies:
|
6961
|
-
nanoid "^3.3.
|
7050
|
+
nanoid "^3.3.6"
|
6962
7051
|
picocolors "^1.0.0"
|
6963
7052
|
source-map-js "^1.0.2"
|
6964
7053
|
|
@@ -7689,19 +7778,19 @@ semver@7.0.0:
|
|
7689
7778
|
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
|
7690
7779
|
|
7691
7780
|
semver@^5.4.1:
|
7692
|
-
version "5.7.
|
7693
|
-
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.
|
7694
|
-
integrity sha512-
|
7781
|
+
version "5.7.2"
|
7782
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
|
7783
|
+
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
|
7695
7784
|
|
7696
7785
|
semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
|
7697
|
-
version "6.3.
|
7698
|
-
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.
|
7699
|
-
integrity sha512-
|
7786
|
+
version "6.3.1"
|
7787
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
|
7788
|
+
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
|
7700
7789
|
|
7701
7790
|
semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7:
|
7702
|
-
version "7.
|
7703
|
-
resolved "https://registry.yarnpkg.com/semver/-/semver-7.
|
7704
|
-
integrity sha512-
|
7791
|
+
version "7.5.4"
|
7792
|
+
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
|
7793
|
+
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
|
7705
7794
|
dependencies:
|
7706
7795
|
lru-cache "^6.0.0"
|
7707
7796
|
|
@@ -8615,9 +8704,9 @@ webpack-sources@^3.2.2, webpack-sources@^3.2.3:
|
|
8615
8704
|
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
|
8616
8705
|
|
8617
8706
|
webpack@^5.73.0:
|
8618
|
-
version "5.
|
8619
|
-
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.
|
8620
|
-
integrity sha512-
|
8707
|
+
version "5.76.1"
|
8708
|
+
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.1.tgz#7773de017e988bccb0f13c7d75ec245f377d295c"
|
8709
|
+
integrity sha512-4+YIK4Abzv8172/SGqObnUjaIHjLEuUasz9EwQj/9xmPPkYJy2Mh03Q/lJfSD3YLzbxy5FeTq5Uw0323Oh6SJQ==
|
8621
8710
|
dependencies:
|
8622
8711
|
"@types/eslint-scope" "^3.7.3"
|
8623
8712
|
"@types/estree" "^0.0.51"
|
@@ -56,11 +56,21 @@ module Polyamorous
|
|
56
56
|
private
|
57
57
|
|
58
58
|
def table_aliases_for(parent, node)
|
59
|
+
@joined_tables ||= {}
|
59
60
|
node.reflection.chain.map { |reflection|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
61
|
+
table, terminated = @joined_tables[reflection]
|
62
|
+
root = reflection == node.reflection
|
63
|
+
|
64
|
+
if table && (!root || !terminated)
|
65
|
+
@joined_tables[reflection] = [table, true] if root
|
66
|
+
table
|
67
|
+
else
|
68
|
+
table = alias_tracker.aliased_table_for(reflection.klass.arel_table) do
|
69
|
+
name = reflection.alias_candidate(parent.table_name)
|
70
|
+
root ? name : "#{name}_join"
|
71
|
+
end
|
72
|
+
@joined_tables[reflection] ||= [table, root] if join_type == Arel::Nodes::OuterJoin
|
73
|
+
table
|
64
74
|
end
|
65
75
|
}
|
66
76
|
end
|
@@ -12,8 +12,9 @@ module Ransack
|
|
12
12
|
|
13
13
|
def type_for(attr)
|
14
14
|
return nil unless attr && attr.valid?
|
15
|
+
relation = attr.arel_attribute.relation
|
15
16
|
name = attr.arel_attribute.name.to_s
|
16
|
-
table =
|
17
|
+
table = relation.respond_to?(:table_name) ? relation.table_name : relation.name
|
17
18
|
schema_cache = self.klass.connection.schema_cache
|
18
19
|
unless schema_cache.send(:data_source_exists?, table)
|
19
20
|
raise "No table named #{table} exists."
|
data/lib/ransack/version.rb
CHANGED
data/ransack.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.homepage = "https://github.com/activerecord-hackery/ransack"
|
13
13
|
s.summary = %q{Object-based searching for Active Record.}
|
14
14
|
s.description = %q{Ransack is the successor to the MetaSearch gem. It improves and expands upon MetaSearch's functionality, but does not have a 100%-compatible API.}
|
15
|
-
s.required_ruby_version = '>=
|
15
|
+
s.required_ruby_version = '>= 3.0'
|
16
16
|
s.license = 'MIT'
|
17
17
|
|
18
18
|
s.add_dependency 'activerecord', '>= 6.1.5'
|
@@ -141,6 +141,22 @@ module Ransack
|
|
141
141
|
end
|
142
142
|
end
|
143
143
|
|
144
|
+
context 'has_one through associations' do
|
145
|
+
let(:address) { Address.create!(city: 'Boston') }
|
146
|
+
let(:org) { Organization.create!(name: 'Testorg', address: address) }
|
147
|
+
let!(:employee) { Employee.create!(name: 'Ernie', organization: org) }
|
148
|
+
|
149
|
+
it 'works when has_one through association is first' do
|
150
|
+
s = Employee.ransack(address_city_eq: 'Boston', organization_name_eq: 'Testorg')
|
151
|
+
expect(s.result.to_a).to include(employee)
|
152
|
+
end
|
153
|
+
|
154
|
+
it 'works when has_one through association is last' do
|
155
|
+
s = Employee.ransack(organization_name_eq: 'Testorg', address_city_eq: 'Boston')
|
156
|
+
expect(s.result.to_a).to include(employee)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
144
160
|
context 'negative conditions on HABTM associations' do
|
145
161
|
let(:medieval) { Tag.create!(name: 'Medieval') }
|
146
162
|
let(:fantasy) { Tag.create!(name: 'Fantasy') }
|
data/spec/support/schema.rb
CHANGED
@@ -237,6 +237,20 @@ class Account < ApplicationRecord
|
|
237
237
|
belongs_to :trade_account, class_name: "Account"
|
238
238
|
end
|
239
239
|
|
240
|
+
class Address < ApplicationRecord
|
241
|
+
has_one :organization
|
242
|
+
end
|
243
|
+
|
244
|
+
class Organization < ApplicationRecord
|
245
|
+
belongs_to :address
|
246
|
+
has_many :employees
|
247
|
+
end
|
248
|
+
|
249
|
+
class Employee < ApplicationRecord
|
250
|
+
belongs_to :organization
|
251
|
+
has_one :address, through: :organization
|
252
|
+
end
|
253
|
+
|
240
254
|
module Schema
|
241
255
|
def self.create
|
242
256
|
ActiveRecord::Migration.verbose = false
|
@@ -300,6 +314,20 @@ module Schema
|
|
300
314
|
t.belongs_to :agent_account
|
301
315
|
t.belongs_to :trade_account
|
302
316
|
end
|
317
|
+
|
318
|
+
create_table :addresses, force: true do |t|
|
319
|
+
t.string :city
|
320
|
+
end
|
321
|
+
|
322
|
+
create_table :organizations, force: true do |t|
|
323
|
+
t.string :name
|
324
|
+
t.integer :address_id
|
325
|
+
end
|
326
|
+
|
327
|
+
create_table :employees, force: true do |t|
|
328
|
+
t.string :name
|
329
|
+
t.integer :organization_id
|
330
|
+
end
|
303
331
|
end
|
304
332
|
|
305
333
|
10.times do
|
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.1.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: 2023-
|
15
|
+
date: 2023-10-23 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activerecord
|
@@ -242,14 +242,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
242
242
|
requirements:
|
243
243
|
- - ">="
|
244
244
|
- !ruby/object:Gem::Version
|
245
|
-
version: '
|
245
|
+
version: '3.0'
|
246
246
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
247
247
|
requirements:
|
248
248
|
- - ">="
|
249
249
|
- !ruby/object:Gem::Version
|
250
250
|
version: '0'
|
251
251
|
requirements: []
|
252
|
-
rubygems_version: 3.4.
|
252
|
+
rubygems_version: 3.4.21
|
253
253
|
signing_key:
|
254
254
|
specification_version: 4
|
255
255
|
summary: Object-based searching for Active Record.
|