ransack 2.4.2 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/cronjob.yml +6 -9
  3. data/.github/workflows/rubocop.yml +1 -1
  4. data/.github/workflows/test.yml +25 -34
  5. data/.nojekyll +0 -0
  6. data/CHANGELOG.md +90 -11
  7. data/CONTRIBUTING.md +4 -3
  8. data/README.md +45 -973
  9. data/docs/.gitignore +20 -0
  10. data/docs/.nojekyll +0 -0
  11. data/docs/babel.config.js +3 -0
  12. data/docs/blog/2022-03-27-ransack-3.0.0.md +20 -0
  13. data/docs/docs/getting-started/_category_.json +4 -0
  14. data/docs/docs/getting-started/advanced-mode.md +46 -0
  15. data/docs/docs/getting-started/configuration.md +47 -0
  16. data/docs/docs/getting-started/search-matches.md +67 -0
  17. data/docs/docs/getting-started/simple-mode.md +284 -0
  18. data/docs/docs/getting-started/sorting.md +79 -0
  19. data/docs/docs/getting-started/using-predicates.md +282 -0
  20. data/docs/docs/going-further/_category_.json +4 -0
  21. data/docs/docs/going-further/associations.md +70 -0
  22. data/docs/docs/going-further/custom-predicates.md +52 -0
  23. data/docs/docs/going-further/documentation.md +31 -0
  24. data/docs/docs/going-further/exporting-to-csv.md +49 -0
  25. data/docs/docs/going-further/external-guides.md +57 -0
  26. data/docs/docs/going-further/form-customisation.md +63 -0
  27. data/docs/docs/going-further/i18n.md +53 -0
  28. data/docs/{img → docs/going-further/img}/create_release.png +0 -0
  29. data/docs/docs/going-further/merging-searches.md +41 -0
  30. data/docs/docs/going-further/other-notes.md +428 -0
  31. data/docs/docs/going-further/ransackers.md +331 -0
  32. data/docs/docs/going-further/release_process.md +36 -0
  33. data/docs/docs/going-further/saving-queries.md +82 -0
  34. data/docs/docs/going-further/searching-postgres.md +57 -0
  35. data/docs/docs/intro.md +99 -0
  36. data/docs/docusaurus.config.js +108 -0
  37. data/docs/package-lock.json +9207 -0
  38. data/docs/package.json +37 -0
  39. data/docs/sidebars.js +31 -0
  40. data/docs/src/components/HomepageFeatures/index.js +64 -0
  41. data/docs/src/components/HomepageFeatures/styles.module.css +11 -0
  42. data/docs/src/css/custom.css +39 -0
  43. data/docs/src/pages/index.module.css +23 -0
  44. data/docs/src/pages/markdown-page.md +7 -0
  45. data/docs/static/.nojekyll +0 -0
  46. data/docs/static/img/docusaurus.png +0 -0
  47. data/docs/static/img/favicon.ico +0 -0
  48. data/docs/static/img/logo.svg +1 -0
  49. data/docs/static/img/tutorial/docsVersionDropdown.png +0 -0
  50. data/docs/static/img/tutorial/localeDropdown.png +0 -0
  51. data/docs/static/img/undraw_docusaurus_mountain.svg +171 -0
  52. data/docs/static/img/undraw_docusaurus_react.svg +170 -0
  53. data/docs/static/img/undraw_docusaurus_tree.svg +40 -0
  54. data/{logo → docs/static/logo}/ransack-h.png +0 -0
  55. data/{logo → docs/static/logo}/ransack-h.svg +0 -0
  56. data/{logo → docs/static/logo}/ransack-v.png +0 -0
  57. data/{logo → docs/static/logo}/ransack-v.svg +0 -0
  58. data/{logo → docs/static/logo}/ransack.png +0 -0
  59. data/{logo → docs/static/logo}/ransack.svg +0 -0
  60. data/docs/yarn.lock +7671 -0
  61. data/lib/polyamorous/activerecord_6.0_ruby_2/join_association.rb +20 -1
  62. data/lib/polyamorous/activerecord_6.0_ruby_2/join_dependency.rb +0 -1
  63. data/lib/polyamorous/activerecord_6.0_ruby_2/reflection.rb +11 -1
  64. data/lib/polyamorous/activerecord_6.1_ruby_2/join_association.rb +0 -4
  65. data/lib/polyamorous/activerecord_6.1_ruby_2/join_dependency.rb +0 -1
  66. data/lib/polyamorous/{activerecord_6.2_ruby_2 → activerecord_7.0_ruby_2}/join_association.rb +0 -0
  67. data/lib/polyamorous/{activerecord_6.2_ruby_2 → activerecord_7.0_ruby_2}/join_dependency.rb +0 -0
  68. data/lib/polyamorous/{activerecord_6.2_ruby_2 → activerecord_7.0_ruby_2}/reflection.rb +0 -0
  69. data/lib/polyamorous.rb +1 -0
  70. data/lib/ransack/adapters/active_record/base.rb +1 -3
  71. data/lib/ransack/adapters/active_record/context.rb +7 -2
  72. data/lib/ransack/adapters/active_record/ransack/nodes/condition.rb +10 -9
  73. data/lib/ransack/configuration.rb +16 -2
  74. data/lib/ransack/helpers/form_helper.rb +11 -3
  75. data/lib/ransack/locale/sv.yml +70 -0
  76. data/lib/ransack/nodes/sort.rb +2 -2
  77. data/lib/ransack/search.rb +4 -3
  78. data/lib/ransack/translate.rb +1 -1
  79. data/lib/ransack/version.rb +1 -1
  80. data/ransack.gemspec +4 -4
  81. data/spec/polyamorous/activerecord_compatibility_spec.rb +15 -0
  82. data/spec/polyamorous/join_association_spec.rb +1 -6
  83. data/spec/polyamorous/join_dependency_spec.rb +0 -16
  84. data/spec/ransack/adapters/active_record/base_spec.rb +28 -11
  85. data/spec/ransack/configuration_spec.rb +14 -0
  86. data/spec/ransack/helpers/form_helper_spec.rb +33 -2
  87. data/spec/ransack/nodes/condition_spec.rb +13 -0
  88. data/spec/ransack/search_spec.rb +140 -27
  89. data/spec/support/schema.rb +49 -0
  90. metadata +72 -25
  91. data/docs/release_process.md +0 -20
  92. data/lib/polyamorous/activerecord_5.2_ruby_2/join_association.rb +0 -24
  93. data/lib/polyamorous/activerecord_5.2_ruby_2/join_dependency.rb +0 -79
  94. data/lib/polyamorous/activerecord_5.2_ruby_2/reflection.rb +0 -11
@@ -0,0 +1,108 @@
1
+ // @ts-check
2
+ // Note: type annotations allow type checking and IDEs autocompletion
3
+
4
+ const lightCodeTheme = require('prism-react-renderer/themes/github');
5
+ const darkCodeTheme = require('prism-react-renderer/themes/dracula');
6
+
7
+ /** @type {import('@docusaurus/types').Config} */
8
+ const config = {
9
+ title: 'Ransack documentation',
10
+ tagline: 'Object-based searching',
11
+ url: 'https://activerecord-hackery.github.io',
12
+ baseUrl: '/ransack/',
13
+ //onBrokenLinks: 'throw',
14
+ onBrokenMarkdownLinks: 'warn',
15
+ favicon: 'img/favicon.ico',
16
+ organizationName: 'activerecord-hackery',
17
+ projectName: 'ransack',
18
+ trailingSlash: false,
19
+
20
+ presets: [
21
+ [
22
+ 'classic',
23
+ /** @type {import('@docusaurus/preset-classic').Options} */
24
+ ({
25
+ docs: {
26
+ routeBasePath: '/',
27
+ sidebarPath: require.resolve('./sidebars.js'),
28
+ editUrl: 'https://github.com/activerecord-hackery/ransack/docs/docs/',
29
+ },
30
+ blog: {
31
+ showReadingTime: true,
32
+ editUrl:
33
+ 'https://github.com/activerecord-hackery/ransack/docs/blog/',
34
+ },
35
+ theme: {
36
+ customCss: require.resolve('./src/css/custom.css'),
37
+ },
38
+ }),
39
+ ],
40
+ ],
41
+
42
+ themeConfig:
43
+ /** @type {import('@docusaurus/preset-classic').ThemeConfig} */
44
+ ({
45
+ navbar: {
46
+ logo: {
47
+ alt: 'Ransack Logo',
48
+ src: './logo/ransack-h.png',
49
+ },
50
+ items: [
51
+ {
52
+ type: 'doc',
53
+ docId: 'intro',
54
+ position: 'left',
55
+ label: 'Documentation',
56
+ },
57
+ {to: '/blog', label: 'Blog', position: 'left'},
58
+ {
59
+ href: 'https://github.com/activerecord-hackery/ransack',
60
+ label: 'GitHub',
61
+ position: 'right',
62
+ },
63
+ ],
64
+ },
65
+ footer: {
66
+ style: 'dark',
67
+ links: [
68
+ {
69
+ title: 'Docs',
70
+ items: [
71
+ {
72
+ label: 'Documentation',
73
+ to: '/',
74
+ },
75
+ ],
76
+ },
77
+ {
78
+ title: 'Community',
79
+ items: [
80
+ {
81
+ label: 'Stack Overflow',
82
+ href: 'https://stackoverflow.com/questions/tagged/ransack',
83
+ },
84
+ ],
85
+ },
86
+ {
87
+ title: 'More',
88
+ items: [
89
+ {
90
+ label: 'Blog',
91
+ to: '/blog',
92
+ },
93
+ {
94
+ label: 'GitHub',
95
+ href: 'https://github.com/activerecord-hackery/ransack',
96
+ },
97
+ ],
98
+ },
99
+ ],
100
+ },
101
+ prism: {
102
+ theme: lightCodeTheme,
103
+ darkTheme: darkCodeTheme,
104
+ },
105
+ }),
106
+ };
107
+
108
+ module.exports = config;