super 0.0.9 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +0 -9
  3. data/README.md +40 -52
  4. data/app/assets/javascripts/super/application.js +5671 -3669
  5. data/app/assets/stylesheets/super/application.css +114693 -71486
  6. data/app/controllers/super/application_controller.rb +24 -13
  7. data/app/helpers/super/form_builder_helper.rb +25 -0
  8. data/app/views/layouts/super/application.html.erb +15 -14
  9. data/app/views/super/application/{_super_schema_display_actions.html.erb → _display_actions.html.erb} +0 -0
  10. data/app/views/super/application/{_super_schema_display_index.html.erb → _display_index.html.erb} +5 -5
  11. data/app/views/super/application/_display_show.html.erb +8 -0
  12. data/app/views/super/application/_filter.html.erb +5 -13
  13. data/app/views/super/application/_filter_type_select.html.erb +9 -19
  14. data/app/views/super/application/_filter_type_text.html.erb +7 -11
  15. data/app/views/super/application/_filter_type_timestamp.html.erb +6 -17
  16. data/app/views/super/application/_form.html.erb +15 -0
  17. data/app/views/super/application/_form_field__destroy.html.erb +1 -9
  18. data/app/views/super/application/_form_field_checkbox.html.erb +1 -15
  19. data/app/views/super/application/_form_field_flatpickr_date.html.erb +8 -0
  20. data/app/views/super/application/_form_field_flatpickr_datetime.html.erb +8 -0
  21. data/app/views/super/application/_form_field_flatpickr_time.html.erb +8 -0
  22. data/app/views/super/application/_form_field_rich_text_area.html.erb +1 -13
  23. data/app/views/super/application/_form_field_select.html.erb +1 -23
  24. data/app/views/super/application/_form_field_text.html.erb +1 -13
  25. data/app/views/super/application/{_super_layout.html.erb → _layout.html.erb} +8 -8
  26. data/app/views/super/application/{_super_pagination.html.erb → _pagination.html.erb} +1 -1
  27. data/app/views/super/application/{_super_panel.html.erb → _panel.html.erb} +2 -2
  28. data/app/views/super/application/_query.html.erb +18 -0
  29. data/app/views/super/application/_sort.html.erb +18 -0
  30. data/app/views/super/application/_sort_expression.html.erb +25 -0
  31. data/app/views/super/application/edit.html.erb +1 -0
  32. data/app/views/super/application/index.html.erb +1 -0
  33. data/app/views/super/application/new.html.erb +1 -0
  34. data/app/views/super/application/show.html.erb +1 -0
  35. data/app/views/super/feather/README.md +1 -0
  36. data/app/views/super/feather/_x.html +15 -0
  37. data/config/routes.rb +2 -0
  38. data/frontend/super-frontend/dist/application.css +114693 -71486
  39. data/frontend/super-frontend/dist/application.js +5671 -3669
  40. data/lib/generators/super/action_text/action_text_generator.rb +2 -0
  41. data/lib/generators/super/install/install_generator.rb +18 -7
  42. data/lib/generators/super/install/templates/base_controller.rb.tt +9 -1
  43. data/lib/generators/super/install/templates/initializer.rb.tt +9 -2
  44. data/lib/generators/super/resource/resource_generator.rb +107 -30
  45. data/lib/generators/super/resource/templates/resources_controller.rb.tt +3 -9
  46. data/lib/generators/super/webpacker/webpacker_generator.rb +11 -5
  47. data/lib/super.rb +9 -2
  48. data/lib/super/action_inquirer.rb +2 -0
  49. data/lib/super/assets.rb +46 -23
  50. data/lib/super/cheat.rb +17 -0
  51. data/lib/super/client_error.rb +2 -0
  52. data/lib/super/compatibility.rb +21 -0
  53. data/lib/super/configuration.rb +16 -24
  54. data/lib/super/controls.rb +11 -2
  55. data/lib/super/controls/optional.rb +35 -1
  56. data/lib/super/controls/steps.rb +27 -35
  57. data/lib/super/controls/view.rb +55 -0
  58. data/lib/super/display.rb +29 -13
  59. data/lib/super/display/guesser.rb +4 -0
  60. data/lib/super/display/schema_types.rb +73 -33
  61. data/lib/super/engine.rb +4 -0
  62. data/lib/super/error.rb +21 -0
  63. data/lib/super/filter.rb +2 -0
  64. data/lib/super/filter/form_object.rb +5 -8
  65. data/lib/super/filter/guesser.rb +2 -0
  66. data/lib/super/filter/operator.rb +2 -0
  67. data/lib/super/filter/schema_types.rb +2 -0
  68. data/lib/super/form.rb +3 -1
  69. data/lib/super/form/builder.rb +289 -39
  70. data/lib/super/form/guesser.rb +12 -1
  71. data/lib/super/form/inline_errors.rb +28 -0
  72. data/lib/super/form/schema_types.rb +15 -0
  73. data/lib/super/form/strong_params.rb +2 -0
  74. data/lib/super/layout.rb +3 -1
  75. data/lib/super/link.rb +44 -31
  76. data/lib/super/link_builder.rb +58 -0
  77. data/lib/super/navigation.rb +164 -0
  78. data/lib/super/pagination.rb +3 -1
  79. data/lib/super/panel.rb +3 -1
  80. data/lib/super/partial.rb +2 -0
  81. data/lib/super/partial/resolving.rb +2 -0
  82. data/lib/super/plugin.rb +2 -0
  83. data/lib/super/query/form_object.rb +48 -0
  84. data/lib/super/schema.rb +2 -0
  85. data/lib/super/schema/common.rb +2 -0
  86. data/lib/super/schema/guesser.rb +2 -0
  87. data/lib/super/sort.rb +110 -0
  88. data/lib/super/useful/builder.rb +25 -0
  89. data/lib/super/useful/enum.rb +63 -0
  90. data/lib/super/version.rb +3 -1
  91. data/lib/super/view_helper.rb +2 -19
  92. data/lib/tasks/super/cheat.rake +9 -0
  93. metadata +53 -40
  94. data/CONTRIBUTING.md +0 -56
  95. data/Rakefile +0 -34
  96. data/STABILITY.md +0 -50
  97. data/app/views/super/application/_form_field_generic.html.erb +0 -19
  98. data/app/views/super/application/_form_inline_errors.html.erb +0 -10
  99. data/app/views/super/application/_super_schema_display_show.html.erb +0 -8
  100. data/app/views/super/application/_super_schema_form.html.erb +0 -15
  101. data/docs/README.md +0 -8
  102. data/docs/action_text.md +0 -48
  103. data/docs/faq.md +0 -44
  104. data/docs/installation.md +0 -21
  105. data/docs/quick_start.md +0 -30
  106. data/docs/webpacker.md +0 -25
  107. data/docs/yard_customizations.rb +0 -41
  108. data/frontend/super-frontend/build.js +0 -36
  109. data/frontend/super-frontend/package.json +0 -20
  110. data/frontend/super-frontend/postcss.config.js +0 -6
  111. data/frontend/super-frontend/src/javascripts/super/application.js +0 -15
  112. data/frontend/super-frontend/src/javascripts/super/apply_template_controller.js +0 -17
  113. data/frontend/super-frontend/src/javascripts/super/toggle_pending_destruction_controller.js +0 -15
  114. data/frontend/super-frontend/src/stylesheets/super/application.css +0 -77
  115. data/frontend/super-frontend/tailwind.config.js +0 -15
  116. data/frontend/super-frontend/yarn.lock +0 -5443
  117. data/lib/super/controls/required.rb +0 -13
  118. data/lib/super/filter/plugin.rb +0 -47
  119. data/lib/super/navigation/automatic.rb +0 -71
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Super
2
4
  class Pagination
3
5
  include Enumerable
@@ -53,7 +55,7 @@ module Super
53
55
  end
54
56
 
55
57
  def to_partial_path
56
- "super_pagination"
58
+ "pagination"
57
59
  end
58
60
 
59
61
  private
data/lib/super/panel.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "super/partial/resolving"
2
4
 
3
5
  module Super
@@ -24,7 +26,7 @@ module Super
24
26
  end
25
27
 
26
28
  def to_partial_path
27
- "super_panel"
29
+ "panel"
28
30
  end
29
31
  end
30
32
  end
data/lib/super/partial.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Super
2
4
  class Partial
3
5
  def self.render(partialish, template:)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Super
2
4
  class Partial
3
5
  module Resolving
data/lib/super/plugin.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Super
2
4
  module Plugin
3
5
  class Registry
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Super
4
+ class Query
5
+ class FormObject
6
+ def initialize(model:, params:, namespace:, current_path:)
7
+ @model = model
8
+ @all_params = params.dup
9
+ @namespace = namespace
10
+ @params = params[namespace] || ActionController::Parameters.new
11
+ @path = current_path
12
+ @addons = {}
13
+ end
14
+
15
+ attr_reader :namespace
16
+ attr_reader :path
17
+ attr_reader :addons
18
+
19
+ def add(klass, namespace:, **additional_initialization_arguments)
20
+ instance = klass.new(
21
+ model: @model,
22
+ params: params_dig(namespace),
23
+ **additional_initialization_arguments
24
+ )
25
+
26
+ addons[namespace] = instance
27
+ end
28
+
29
+ def apply_changes(records)
30
+ addons.each_value do |addon|
31
+ records = addon.apply_changes(records)
32
+ end
33
+
34
+ records
35
+ end
36
+
37
+ def to_partial_path
38
+ "query"
39
+ end
40
+
41
+ private
42
+
43
+ def params_dig(*keys)
44
+ @params.dig(*keys) || ActionController::Parameters.new
45
+ end
46
+ end
47
+ end
48
+ end
data/lib/super/schema.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Super
2
4
  # The Schema is a general purpose container for describing the "schema"
3
5
  # for various purposes. It primarily exists to provide a cohesive user-facing
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Super
2
4
  class Schema
3
5
  module Common
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Super
2
4
  class Schema
3
5
  class Guesser
data/lib/super/sort.rb ADDED
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Super
4
+ module Sort
5
+ class FormObject
6
+ DIRECTIONS = ["asc", "desc"]
7
+
8
+ def initialize(model:, params:, default:, sortable_columns:)
9
+ @model = model
10
+ @params = params.dup
11
+ @default = default
12
+ @sortable_columns = sortable_columns.map(&:to_s)
13
+
14
+ @params.permit!
15
+ end
16
+
17
+ attr_reader :sortable_columns
18
+
19
+ def to_partial_path
20
+ "sort"
21
+ end
22
+
23
+ def exprs
24
+ sanitized_expr_params.map { |ordering| Expression.new(**ordering) }
25
+ end
26
+
27
+ def new_expr
28
+ Expression.new(a: nil, d: :desc)
29
+ end
30
+
31
+ class Expression
32
+ attr_accessor :a # attribute
33
+ attr_accessor :d # direction
34
+
35
+ def initialize(a:, d:)
36
+ @a = a
37
+ @d = d.to_s
38
+ end
39
+
40
+ def with_index(index)
41
+ @index = index
42
+ self
43
+ end
44
+
45
+ # This is for `fields_for` to work
46
+ def id
47
+ @index
48
+ end
49
+
50
+ def persisted?
51
+ false
52
+ end
53
+ end
54
+
55
+ def persisted?
56
+ false
57
+ end
58
+
59
+ def apply_changes(query)
60
+ exprs.each do |expr|
61
+ query = query.order(expr.a => expr.d)
62
+ end
63
+
64
+ query
65
+ end
66
+
67
+ private
68
+
69
+ # Stringifies the values
70
+ def sanitized_expr_params
71
+ seen = {}
72
+ normalized_expr_params
73
+ .each do |p|
74
+ p[:a] = p[:a].presence&.to_s&.strip
75
+ p[:d] = p[:d].presence&.to_s&.strip
76
+ end
77
+ .select { |p| p[:a].present? && DIRECTIONS.include?(p[:d]) }
78
+ .select { |p| @sortable_columns.include?(p[:a]) }
79
+ .select do |p|
80
+ next false if seen.key?(p[:a])
81
+
82
+ seen[p[:a]] = true
83
+ true
84
+ end
85
+ end
86
+
87
+ # Symbolizes the keys
88
+ def normalized_expr_params
89
+ from_params = @params[:exprs]
90
+
91
+ return default_as_query if from_params.nil?
92
+
93
+ if from_params.is_a?(Array)
94
+ return from_params.map(&:to_h).map(&:symbolize_keys)
95
+ end
96
+
97
+ from_params.to_h.values.map(&:symbolize_keys)
98
+ end
99
+
100
+ def default_as_query
101
+ @default.map do |attribute_name, direction|
102
+ {
103
+ a: attribute_name,
104
+ d: direction,
105
+ }
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Super
4
+ module Useful
5
+ module Builder
6
+ def builder(method_name)
7
+ alias_method("original_#{method_name}", method_name)
8
+
9
+ define_method(method_name) do
10
+ send("original_#{method_name}")
11
+ self
12
+ end
13
+ end
14
+
15
+ def builder_with_block(method_name)
16
+ alias_method("original_#{method_name}", method_name)
17
+
18
+ define_method(method_name) do |&block|
19
+ send("original_#{method_name}", &block)
20
+ self
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Super
4
+ module Useful
5
+ class Enum
6
+ def initialize(*choices)
7
+ @choices = choices.flatten.map { |choice| [choice, nil] }.to_h
8
+ end
9
+
10
+ def case(chosen)
11
+ Case.new(@choices, chosen)
12
+ end
13
+
14
+ class Case
15
+ def initialize(choices, chosen)
16
+ if !choices.key?(chosen)
17
+ raise Error::Enum::ImpossibleValue,
18
+ "`#{chosen}` isn't in: #{choices.keys.map(&:inspect).join(", ")}"
19
+ end
20
+
21
+ @choices = choices
22
+ @chosen = chosen
23
+ @whens = {}
24
+ end
25
+
26
+ def when(*keys, &block)
27
+ if !block_given?
28
+ raise Error::ArgumentError, "must receive block"
29
+ end
30
+
31
+ keys.each do |key|
32
+ if !@choices.key?(key)
33
+ raise Error::Enum::ImpossibleValue, "`#{key.inspect}` is not a possibility"
34
+ end
35
+
36
+ @whens[key] = block
37
+ end
38
+
39
+ self
40
+ end
41
+
42
+ def result
43
+ if @choices.size != @whens.size
44
+ missing_keys = @choices.keys - @whens.keys
45
+ raise Error::Enum::UndefinedCase, "Unset cases: #{missing_keys.join(", ")}"
46
+ end
47
+
48
+ @whens[@chosen].call(@value)
49
+ end
50
+
51
+ private
52
+
53
+ def matching_possibilities_and_checks?
54
+ if @whens.size == @choices.size
55
+ return true
56
+ end
57
+
58
+ false
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
data/lib/super/version.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Super
2
- VERSION = "0.0.9"
4
+ VERSION = "0.0.14"
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Super
2
4
  module ViewHelper
3
5
  module_function
@@ -20,24 +22,5 @@ module Super
20
22
 
21
23
  result.compact.join(" ")
22
24
  end
23
-
24
- def errors_accounting_for_reflections(model_instance, column_or_association)
25
- errable_fields(model_instance, column_or_association)
26
- .flat_map { |field| Compatability.errable_fields(field) }
27
- .flat_map { |field| model_instance.errors.full_messages_for(field) }
28
- .uniq
29
- end
30
-
31
- def errable_fields(model_instance, column_or_association)
32
- column_or_association = column_or_association.to_s
33
- reflection = model_instance.class.reflect_on_association(column_or_association)
34
- reflection ||= model_instance.class.reflections.values.find { |r| r.foreign_key == column_or_association }
35
-
36
- if reflection
37
- [reflection.name.to_s, reflection.foreign_key.to_s]
38
- else
39
- [column_or_association]
40
- end
41
- end
42
25
  end
43
26
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :super do
4
+ task :cheat do
5
+ require "super/cheat"
6
+ cheat = Super::Cheat.new
7
+ cheat.controls
8
+ end
9
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: super
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zach Ahn
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-08 00:00:00.000000000 Z
11
+ date: 2021-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -198,7 +198,21 @@ dependencies:
198
198
  - - ">="
199
199
  - !ruby/object:Gem::Version
200
200
  version: '0'
201
- description:
201
+ - !ruby/object:Gem::Dependency
202
+ name: simplecov
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ description:
202
216
  email:
203
217
  - engineering@zachahn.com
204
218
  executables: []
@@ -206,41 +220,43 @@ extensions: []
206
220
  extra_rdoc_files: []
207
221
  files:
208
222
  - ".yardopts"
209
- - CONTRIBUTING.md
210
223
  - LICENSE
211
224
  - README.md
212
- - Rakefile
213
- - STABILITY.md
214
225
  - app/assets/config/super_manifest.js
215
226
  - app/assets/javascripts/super/application.js
216
227
  - app/assets/stylesheets/super/application.css
217
228
  - app/controllers/super/application_controller.rb
229
+ - app/helpers/super/form_builder_helper.rb
218
230
  - app/views/layouts/super/application.html.erb
219
231
  - app/views/super/application/_collection_header.html.erb
232
+ - app/views/super/application/_display_actions.html.erb
233
+ - app/views/super/application/_display_index.html.erb
220
234
  - app/views/super/application/_display_rich_text.html.erb
235
+ - app/views/super/application/_display_show.html.erb
221
236
  - app/views/super/application/_filter.html.erb
222
237
  - app/views/super/application/_filter_type_select.html.erb
223
238
  - app/views/super/application/_filter_type_text.html.erb
224
239
  - app/views/super/application/_filter_type_timestamp.html.erb
225
240
  - app/views/super/application/_flash.html.erb
241
+ - app/views/super/application/_form.html.erb
226
242
  - app/views/super/application/_form_field__destroy.html.erb
227
243
  - app/views/super/application/_form_field_checkbox.html.erb
228
- - app/views/super/application/_form_field_generic.html.erb
244
+ - app/views/super/application/_form_field_flatpickr_date.html.erb
245
+ - app/views/super/application/_form_field_flatpickr_datetime.html.erb
246
+ - app/views/super/application/_form_field_flatpickr_time.html.erb
229
247
  - app/views/super/application/_form_field_rich_text_area.html.erb
230
248
  - app/views/super/application/_form_field_select.html.erb
231
249
  - app/views/super/application/_form_field_text.html.erb
232
250
  - app/views/super/application/_form_fieldset.html.erb
233
251
  - app/views/super/application/_form_has_many.html.erb
234
252
  - app/views/super/application/_form_has_one.html.erb
235
- - app/views/super/application/_form_inline_errors.html.erb
253
+ - app/views/super/application/_layout.html.erb
236
254
  - app/views/super/application/_member_header.html.erb
237
- - app/views/super/application/_super_layout.html.erb
238
- - app/views/super/application/_super_pagination.html.erb
239
- - app/views/super/application/_super_panel.html.erb
240
- - app/views/super/application/_super_schema_display_actions.html.erb
241
- - app/views/super/application/_super_schema_display_index.html.erb
242
- - app/views/super/application/_super_schema_display_show.html.erb
243
- - app/views/super/application/_super_schema_form.html.erb
255
+ - app/views/super/application/_pagination.html.erb
256
+ - app/views/super/application/_panel.html.erb
257
+ - app/views/super/application/_query.html.erb
258
+ - app/views/super/application/_sort.html.erb
259
+ - app/views/super/application/_sort_expression.html.erb
244
260
  - app/views/super/application/edit.html.erb
245
261
  - app/views/super/application/index.html.erb
246
262
  - app/views/super/application/new.html.erb
@@ -248,27 +264,12 @@ files:
248
264
  - app/views/super/application/show.html.erb
249
265
  - app/views/super/feather/README.md
250
266
  - app/views/super/feather/_chevron_down.html
267
+ - app/views/super/feather/_x.html
251
268
  - config/locales/en.yml
252
269
  - config/routes.rb
253
- - docs/README.md
254
- - docs/action_text.md
255
270
  - docs/cheat.md
256
- - docs/faq.md
257
- - docs/installation.md
258
- - docs/quick_start.md
259
- - docs/webpacker.md
260
- - docs/yard_customizations.rb
261
- - frontend/super-frontend/build.js
262
271
  - frontend/super-frontend/dist/application.css
263
272
  - frontend/super-frontend/dist/application.js
264
- - frontend/super-frontend/package.json
265
- - frontend/super-frontend/postcss.config.js
266
- - frontend/super-frontend/src/javascripts/super/application.js
267
- - frontend/super-frontend/src/javascripts/super/apply_template_controller.js
268
- - frontend/super-frontend/src/javascripts/super/toggle_pending_destruction_controller.js
269
- - frontend/super-frontend/src/stylesheets/super/application.css
270
- - frontend/super-frontend/tailwind.config.js
271
- - frontend/super-frontend/yarn.lock
272
273
  - lib/generators/super/action_text/USAGE
273
274
  - lib/generators/super/action_text/action_text_generator.rb
274
275
  - lib/generators/super/action_text/templates/pack_super_action_text.css
@@ -286,13 +287,14 @@ files:
286
287
  - lib/super.rb
287
288
  - lib/super/action_inquirer.rb
288
289
  - lib/super/assets.rb
290
+ - lib/super/cheat.rb
289
291
  - lib/super/client_error.rb
290
292
  - lib/super/compatibility.rb
291
293
  - lib/super/configuration.rb
292
294
  - lib/super/controls.rb
293
295
  - lib/super/controls/optional.rb
294
- - lib/super/controls/required.rb
295
296
  - lib/super/controls/steps.rb
297
+ - lib/super/controls/view.rb
296
298
  - lib/super/display.rb
297
299
  - lib/super/display/guesser.rb
298
300
  - lib/super/display/schema_types.rb
@@ -302,31 +304,42 @@ files:
302
304
  - lib/super/filter/form_object.rb
303
305
  - lib/super/filter/guesser.rb
304
306
  - lib/super/filter/operator.rb
305
- - lib/super/filter/plugin.rb
306
307
  - lib/super/filter/schema_types.rb
307
308
  - lib/super/form.rb
308
309
  - lib/super/form/builder.rb
309
310
  - lib/super/form/guesser.rb
311
+ - lib/super/form/inline_errors.rb
310
312
  - lib/super/form/schema_types.rb
311
313
  - lib/super/form/strong_params.rb
312
314
  - lib/super/layout.rb
313
315
  - lib/super/link.rb
314
- - lib/super/navigation/automatic.rb
316
+ - lib/super/link_builder.rb
317
+ - lib/super/navigation.rb
315
318
  - lib/super/pagination.rb
316
319
  - lib/super/panel.rb
317
320
  - lib/super/partial.rb
318
321
  - lib/super/partial/resolving.rb
319
322
  - lib/super/plugin.rb
323
+ - lib/super/query/form_object.rb
320
324
  - lib/super/schema.rb
321
325
  - lib/super/schema/common.rb
322
326
  - lib/super/schema/guesser.rb
327
+ - lib/super/sort.rb
328
+ - lib/super/useful/builder.rb
329
+ - lib/super/useful/enum.rb
323
330
  - lib/super/version.rb
324
331
  - lib/super/view_helper.rb
325
- homepage:
332
+ - lib/tasks/super/cheat.rake
333
+ homepage:
326
334
  licenses:
327
335
  - LGPL-3.0-only
328
- metadata: {}
329
- post_install_message:
336
+ metadata:
337
+ bug_tracker_uri: https://github.com/zachahn/super/issues
338
+ changelog_uri: https://github.com/zachahn/super/blob/main/CHANGELOG.md
339
+ documentation_uri: https://superadministration.github.io/
340
+ homepage_uri: https://github.com/zachahn/super
341
+ source_code_uri: https://github.com/zachahn/super
342
+ post_install_message:
330
343
  rdoc_options: []
331
344
  require_paths:
332
345
  - lib
@@ -341,8 +354,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
341
354
  - !ruby/object:Gem::Version
342
355
  version: '0'
343
356
  requirements: []
344
- rubygems_version: 3.1.4
345
- signing_key:
357
+ rubygems_version: 3.2.4
358
+ signing_key:
346
359
  specification_version: 4
347
360
  summary: A simple, powerful, zero dependency Rails admin framework
348
361
  test_files: []