super 0.0.11 → 0.0.12
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/.yardopts +0 -8
- data/README.md +4 -8
- data/app/controllers/super/application_controller.rb +5 -5
- data/app/views/layouts/super/application.html.erb +1 -3
- data/app/views/super/application/{_super_schema_display_actions.html.erb → _display_actions.html.erb} +0 -0
- data/app/views/super/application/{_super_schema_display_index.html.erb → _display_index.html.erb} +3 -3
- data/app/views/super/application/_display_show.html.erb +8 -0
- data/app/views/super/application/{_super_schema_form.html.erb → _form.html.erb} +2 -2
- data/app/views/super/application/{_super_layout.html.erb → _layout.html.erb} +7 -7
- data/app/views/super/application/{_super_pagination.html.erb → _pagination.html.erb} +1 -1
- data/app/views/super/application/{_super_panel.html.erb → _panel.html.erb} +2 -2
- data/lib/generators/super/install/install_generator.rb +16 -7
- data/lib/generators/super/install/templates/base_controller.rb.tt +9 -1
- data/lib/generators/super/install/templates/initializer.rb.tt +9 -2
- data/lib/generators/super/resource/resource_generator.rb +105 -30
- data/lib/generators/super/resource/templates/resources_controller.rb.tt +3 -9
- data/lib/super.rb +2 -0
- data/lib/super/configuration.rb +14 -23
- data/lib/super/controls.rb +7 -2
- data/lib/super/controls/optional.rb +1 -0
- data/lib/super/display.rb +16 -8
- data/lib/super/display/schema_types.rb +70 -33
- data/lib/super/error.rb +7 -0
- data/lib/super/form.rb +1 -1
- data/lib/super/layout.rb +1 -1
- data/lib/super/link.rb +5 -0
- data/lib/super/navigation/automatic.rb +2 -2
- data/lib/super/pagination.rb +1 -1
- data/lib/super/panel.rb +1 -1
- data/lib/super/useful/builder.rb +25 -0
- data/lib/super/useful/enum.rb +63 -0
- data/lib/super/version.rb +1 -1
- metadata +17 -19
- data/STABILITY.md +0 -50
- data/app/views/super/application/_super_schema_display_show.html.erb +0 -8
- data/docs/README.md +0 -8
- data/docs/action_text.md +0 -48
- data/docs/faq.md +0 -44
- data/docs/installation.md +0 -21
- data/docs/quick_start.md +0 -30
- data/docs/webpacker.md +0 -25
- data/docs/yard_customizations.rb +0 -43
- data/lib/super/controls/required.rb +0 -15
    
        data/lib/super/version.rb
    CHANGED
    
    
    
        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. | 
| 4 | 
            +
              version: 0.0.12
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Zach Ahn
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021- | 
| 11 | 
            +
            date: 2021-04-04 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: railties
         | 
| @@ -224,7 +224,6 @@ files: | |
| 224 224 | 
             
            - LICENSE
         | 
| 225 225 | 
             
            - README.md
         | 
| 226 226 | 
             
            - Rakefile
         | 
| 227 | 
            -
            - STABILITY.md
         | 
| 228 227 | 
             
            - app/assets/config/super_manifest.js
         | 
| 229 228 | 
             
            - app/assets/javascripts/super/application.js
         | 
| 230 229 | 
             
            - app/assets/stylesheets/super/application.css
         | 
| @@ -232,12 +231,16 @@ files: | |
| 232 231 | 
             
            - app/helpers/super/form_builder_helper.rb
         | 
| 233 232 | 
             
            - app/views/layouts/super/application.html.erb
         | 
| 234 233 | 
             
            - app/views/super/application/_collection_header.html.erb
         | 
| 234 | 
            +
            - app/views/super/application/_display_actions.html.erb
         | 
| 235 | 
            +
            - app/views/super/application/_display_index.html.erb
         | 
| 235 236 | 
             
            - app/views/super/application/_display_rich_text.html.erb
         | 
| 237 | 
            +
            - app/views/super/application/_display_show.html.erb
         | 
| 236 238 | 
             
            - app/views/super/application/_filter.html.erb
         | 
| 237 239 | 
             
            - app/views/super/application/_filter_type_select.html.erb
         | 
| 238 240 | 
             
            - app/views/super/application/_filter_type_text.html.erb
         | 
| 239 241 | 
             
            - app/views/super/application/_filter_type_timestamp.html.erb
         | 
| 240 242 | 
             
            - app/views/super/application/_flash.html.erb
         | 
| 243 | 
            +
            - app/views/super/application/_form.html.erb
         | 
| 241 244 | 
             
            - app/views/super/application/_form_field__destroy.html.erb
         | 
| 242 245 | 
             
            - app/views/super/application/_form_field_checkbox.html.erb
         | 
| 243 246 | 
             
            - app/views/super/application/_form_field_rich_text_area.html.erb
         | 
| @@ -246,17 +249,13 @@ files: | |
| 246 249 | 
             
            - app/views/super/application/_form_fieldset.html.erb
         | 
| 247 250 | 
             
            - app/views/super/application/_form_has_many.html.erb
         | 
| 248 251 | 
             
            - app/views/super/application/_form_has_one.html.erb
         | 
| 252 | 
            +
            - app/views/super/application/_layout.html.erb
         | 
| 249 253 | 
             
            - app/views/super/application/_member_header.html.erb
         | 
| 254 | 
            +
            - app/views/super/application/_pagination.html.erb
         | 
| 255 | 
            +
            - app/views/super/application/_panel.html.erb
         | 
| 250 256 | 
             
            - app/views/super/application/_query.html.erb
         | 
| 251 257 | 
             
            - app/views/super/application/_sort.html.erb
         | 
| 252 258 | 
             
            - app/views/super/application/_sort_expression.html.erb
         | 
| 253 | 
            -
            - app/views/super/application/_super_layout.html.erb
         | 
| 254 | 
            -
            - app/views/super/application/_super_pagination.html.erb
         | 
| 255 | 
            -
            - app/views/super/application/_super_panel.html.erb
         | 
| 256 | 
            -
            - app/views/super/application/_super_schema_display_actions.html.erb
         | 
| 257 | 
            -
            - app/views/super/application/_super_schema_display_index.html.erb
         | 
| 258 | 
            -
            - app/views/super/application/_super_schema_display_show.html.erb
         | 
| 259 | 
            -
            - app/views/super/application/_super_schema_form.html.erb
         | 
| 260 259 | 
             
            - app/views/super/application/edit.html.erb
         | 
| 261 260 | 
             
            - app/views/super/application/index.html.erb
         | 
| 262 261 | 
             
            - app/views/super/application/new.html.erb
         | 
| @@ -267,14 +266,7 @@ files: | |
| 267 266 | 
             
            - app/views/super/feather/_x.html
         | 
| 268 267 | 
             
            - config/locales/en.yml
         | 
| 269 268 | 
             
            - config/routes.rb
         | 
| 270 | 
            -
            - docs/README.md
         | 
| 271 | 
            -
            - docs/action_text.md
         | 
| 272 269 | 
             
            - docs/cheat.md
         | 
| 273 | 
            -
            - docs/faq.md
         | 
| 274 | 
            -
            - docs/installation.md
         | 
| 275 | 
            -
            - docs/quick_start.md
         | 
| 276 | 
            -
            - docs/webpacker.md
         | 
| 277 | 
            -
            - docs/yard_customizations.rb
         | 
| 278 270 | 
             
            - frontend/super-frontend/dist/application.css
         | 
| 279 271 | 
             
            - frontend/super-frontend/dist/application.js
         | 
| 280 272 | 
             
            - lib/generators/super/action_text/USAGE
         | 
| @@ -299,7 +291,6 @@ files: | |
| 299 291 | 
             
            - lib/super/configuration.rb
         | 
| 300 292 | 
             
            - lib/super/controls.rb
         | 
| 301 293 | 
             
            - lib/super/controls/optional.rb
         | 
| 302 | 
            -
            - lib/super/controls/required.rb
         | 
| 303 294 | 
             
            - lib/super/controls/steps.rb
         | 
| 304 295 | 
             
            - lib/super/controls/view.rb
         | 
| 305 296 | 
             
            - lib/super/display.rb
         | 
| @@ -331,12 +322,19 @@ files: | |
| 331 322 | 
             
            - lib/super/schema/common.rb
         | 
| 332 323 | 
             
            - lib/super/schema/guesser.rb
         | 
| 333 324 | 
             
            - lib/super/sort.rb
         | 
| 325 | 
            +
            - lib/super/useful/builder.rb
         | 
| 326 | 
            +
            - lib/super/useful/enum.rb
         | 
| 334 327 | 
             
            - lib/super/version.rb
         | 
| 335 328 | 
             
            - lib/super/view_helper.rb
         | 
| 336 329 | 
             
            homepage:
         | 
| 337 330 | 
             
            licenses:
         | 
| 338 331 | 
             
            - LGPL-3.0-only
         | 
| 339 | 
            -
            metadata: | 
| 332 | 
            +
            metadata:
         | 
| 333 | 
            +
              bug_tracker_uri: https://github.com/zachahn/super/issues
         | 
| 334 | 
            +
              changelog_uri: https://github.com/zachahn/super/blob/main/CHANGELOG.md
         | 
| 335 | 
            +
              documentation_uri: https://superadministration.github.io/
         | 
| 336 | 
            +
              homepage_uri: https://github.com/zachahn/super
         | 
| 337 | 
            +
              source_code_uri: https://github.com/zachahn/super
         | 
| 340 338 | 
             
            post_install_message:
         | 
| 341 339 | 
             
            rdoc_options: []
         | 
| 342 340 | 
             
            require_paths:
         | 
    
        data/STABILITY.md
    DELETED
    
    | @@ -1,50 +0,0 @@ | |
| 1 | 
            -
            # Stability
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            The table below shows the current progress towards API stability and the release
         | 
| 4 | 
            -
            of version 1.0.
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            Note though that it is neither a comprehensive list nor a guarantee of
         | 
| 7 | 
            -
            stability.
         | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
            <table>
         | 
| 11 | 
            -
            <thead>
         | 
| 12 | 
            -
            <tr><th>Feature</th><th>Status</th></tr>
         | 
| 13 | 
            -
            </thead>
         | 
| 14 | 
            -
            <tbody>
         | 
| 15 | 
            -
            <tr><td>UI</td>                                             <td>❌</td></tr>
         | 
| 16 | 
            -
            <tr><td>Frontend JS</td>                                    <td>❌</td></tr>
         | 
| 17 | 
            -
            <tr><td><code>Super::ActionInquirer</code></td>             <td>✅</td></tr>
         | 
| 18 | 
            -
            <tr><td><code>Super::ApplicationController</code></td>      <td>✅</td></tr>
         | 
| 19 | 
            -
            <tr><td><code>Super::Assets</code></td>                     <td>🚧</td></tr>
         | 
| 20 | 
            -
            <tr><td><code>Super::ClientError</code></td>                <td>✅</td></tr>
         | 
| 21 | 
            -
            <tr><td><code>Super::Compatability</code></td>              <td>🙈</td></tr>
         | 
| 22 | 
            -
            <tr><td><code>Super::Configuration</code></td>              <td>🚧</td></tr>
         | 
| 23 | 
            -
            <tr><td><code>Super::Controls::Optional</code></td>         <td>✅</td></tr>
         | 
| 24 | 
            -
            <tr><td><code>Super::Controls::Required</code></td>         <td>✅</td></tr>
         | 
| 25 | 
            -
            <tr><td><code>Super::Controls::Steps</code></td>            <td>🚧</td></tr>
         | 
| 26 | 
            -
            <tr><td><code>Super::Controls</code></td>                   <td>✅</td></tr>
         | 
| 27 | 
            -
            <tr><td><code>Super::Display</code></td>                    <td>🤔</td></tr>
         | 
| 28 | 
            -
            <tr><td><code>Super::Engine</code></td>                     <td>🙈</td></tr>
         | 
| 29 | 
            -
            <tr><td><code>Super::Error</code></td>                      <td>✅</td></tr>
         | 
| 30 | 
            -
            <tr><td><code>Super::Filter</code></td>                     <td>❌</td></tr>
         | 
| 31 | 
            -
            <tr><td><code>Super::Form</code></td>                       <td>🤔</td></tr>
         | 
| 32 | 
            -
            <tr><td><code>Super::Layout</code></td>                     <td>🤔</td></tr>
         | 
| 33 | 
            -
            <tr><td><code>Super::Link</code></td>                       <td>✅</td></tr>
         | 
| 34 | 
            -
            <tr><td><code>Super::Navigation</code></td>                 <td>🤔</td></tr>
         | 
| 35 | 
            -
            <tr><td><code>Super::Pagination</code></td>                 <td>🤔</td></tr>
         | 
| 36 | 
            -
            <tr><td><code>Super::Panel</code></td>                      <td>🤔</td></tr>
         | 
| 37 | 
            -
            <tr><td><code>Super::Partial</code></td>                    <td>🤔</td></tr>
         | 
| 38 | 
            -
            <tr><td><code>Super::Plugin</code></td>                     <td>✅</td></tr>
         | 
| 39 | 
            -
            <tr><td><code>Super::ViewHelper</code></td>                 <td>❌</td></tr>
         | 
| 40 | 
            -
            </tbody>
         | 
| 41 | 
            -
            </table>
         | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
            ### Legend
         | 
| 45 | 
            -
             | 
| 46 | 
            -
            * ✅ Tentatively stable. Further changes will probably be additive
         | 
| 47 | 
            -
            * 🚧 Likely upcoming breaking changes
         | 
| 48 | 
            -
            * ❌ Planned upcoming breaking changes
         | 
| 49 | 
            -
            * 🤔 Undecided
         | 
| 50 | 
            -
            * 🙈 Private API
         | 
| @@ -1,8 +0,0 @@ | |
| 1 | 
            -
            <table class="max-w-full mt-4">
         | 
| 2 | 
            -
              <% super_schema_display_show.each_attribute_name do |attribute_name| %>
         | 
| 3 | 
            -
                <tr>
         | 
| 4 | 
            -
                  <th class="py-1 align-baseline text-right px-4"><%= controls.model.human_attribute_name(attribute_name) %></th>
         | 
| 5 | 
            -
                  <td class="py-1 align-baseline"><%= super_schema_display_show.render_field(template: self, record: @record, column: attribute_name) %></td>
         | 
| 6 | 
            -
                </tr>
         | 
| 7 | 
            -
              <% end %>
         | 
| 8 | 
            -
            </table>
         | 
    
        data/docs/README.md
    DELETED
    
    
    
        data/docs/action_text.md
    DELETED
    
    | @@ -1,48 +0,0 @@ | |
| 1 | 
            -
            <!--
         | 
| 2 | 
            -
            # @title ActionText
         | 
| 3 | 
            -
            -->
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            # Using ActionText with Super
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            Super has some basic support for editing and viewing ActionText. Since
         | 
| 8 | 
            -
            ActionText only works with Webpacker, you'll have to set up Webpacker for your
         | 
| 9 | 
            -
            application. You can optionally set up [Super to use Webpacker](./webpacker.md).
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            Once you've set that up, ActionText should be relatively simple. The following
         | 
| 12 | 
            -
            command will copy over the necessary JS and CSS into your application:
         | 
| 13 | 
            -
             | 
| 14 | 
            -
            ```bash
         | 
| 15 | 
            -
            bundle exec rails generate super:action_text
         | 
| 16 | 
            -
            ```
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            As an example, let's say we're making admin pages for a blog. We'll keep this
         | 
| 19 | 
            -
            example simple and work with a `Post` model with just a `#title` column and
         | 
| 20 | 
            -
            a rich text `#content` field.
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            ```ruby
         | 
| 23 | 
            -
            class Post < ApplicationRecord
         | 
| 24 | 
            -
              has_rich_text :content
         | 
| 25 | 
            -
            end
         | 
| 26 | 
            -
            ```
         | 
| 27 | 
            -
             | 
| 28 | 
            -
            We'll need to configure the `#form_schema` and `#display_schema` methods.
         | 
| 29 | 
            -
             | 
| 30 | 
            -
            ```ruby
         | 
| 31 | 
            -
            class Controls < Super::Controls
         | 
| 32 | 
            -
              # ...
         | 
| 33 | 
            -
             | 
| 34 | 
            -
              def form_schema(action:)
         | 
| 35 | 
            -
                Super::Form.new do |fields, type|
         | 
| 36 | 
            -
                  fields[:title] = type.text
         | 
| 37 | 
            -
                  fields[:content] = type.rich_text_area
         | 
| 38 | 
            -
                end
         | 
| 39 | 
            -
              end
         | 
| 40 | 
            -
             | 
| 41 | 
            -
              def display_schema(action:)
         | 
| 42 | 
            -
                Super::Display.new do |fields, type|
         | 
| 43 | 
            -
                  fields[:title] = type.text
         | 
| 44 | 
            -
                  fields[:content] = type.rich_text
         | 
| 45 | 
            -
                end
         | 
| 46 | 
            -
              end
         | 
| 47 | 
            -
            end
         | 
| 48 | 
            -
            ```
         | 
    
        data/docs/faq.md
    DELETED
    
    | @@ -1,44 +0,0 @@ | |
| 1 | 
            -
            <!--
         | 
| 2 | 
            -
            # @title FAQ
         | 
| 3 | 
            -
            -->
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            # FAQ
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            ## How do I handle authorization?
         | 
| 8 | 
            -
             | 
| 9 | 
            -
            Assuming you already have authentication set up, it should only require defining
         | 
| 10 | 
            -
            a `Controls#initialize` that accepts an authenticated user. From there, you can
         | 
| 11 | 
            -
            customize `Controls#scope` to have the required behavior.
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            ```ruby
         | 
| 14 | 
            -
            class PostsController < AdminController
         | 
| 15 | 
            -
              def new_controls
         | 
| 16 | 
            -
                Controls.new(current_user)
         | 
| 17 | 
            -
              end
         | 
| 18 | 
            -
             | 
| 19 | 
            -
              class Controls < Super::Controls
         | 
| 20 | 
            -
                def initialize(current_user)
         | 
| 21 | 
            -
                  @current_user = current_user
         | 
| 22 | 
            -
                end
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                def model
         | 
| 25 | 
            -
                  Post
         | 
| 26 | 
            -
                end
         | 
| 27 | 
            -
             | 
| 28 | 
            -
                def scope(action:)
         | 
| 29 | 
            -
                  # Example: admins can read and write; others can only read
         | 
| 30 | 
            -
                  if @current_user.admin?
         | 
| 31 | 
            -
                    return model.all
         | 
| 32 | 
            -
                  end
         | 
| 33 | 
            -
             | 
| 34 | 
            -
                  if action.read?
         | 
| 35 | 
            -
                    return model.all
         | 
| 36 | 
            -
                  end
         | 
| 37 | 
            -
             | 
| 38 | 
            -
                  raise Super::ClientError::Forbidden
         | 
| 39 | 
            -
                end
         | 
| 40 | 
            -
             | 
| 41 | 
            -
                # ...
         | 
| 42 | 
            -
              end
         | 
| 43 | 
            -
            end
         | 
| 44 | 
            -
            ```
         | 
    
        data/docs/installation.md
    DELETED
    
    | @@ -1,21 +0,0 @@ | |
| 1 | 
            -
            <!--
         | 
| 2 | 
            -
            # @title Installation
         | 
| 3 | 
            -
            -->
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            ## Installation
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            Add this line to your application's Gemfile:
         | 
| 8 | 
            -
             | 
| 9 | 
            -
            ```ruby
         | 
| 10 | 
            -
            gem "super"
         | 
| 11 | 
            -
            ```
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            And then execute:
         | 
| 14 | 
            -
             | 
| 15 | 
            -
            ```bash
         | 
| 16 | 
            -
            bundle install
         | 
| 17 | 
            -
            bundle exec rails generate super:install # check out the `--help` option!
         | 
| 18 | 
            -
            ```
         | 
| 19 | 
            -
             | 
| 20 | 
            -
            If you prefer, you can configure Super to use Webpacker instead of Sprockets.
         | 
| 21 | 
            -
            Check out the [Webpacker guide](./webpacker.md).
         | 
    
        data/docs/quick_start.md
    DELETED
    
    | @@ -1,30 +0,0 @@ | |
| 1 | 
            -
            <!--
         | 
| 2 | 
            -
            # @title Quick start
         | 
| 3 | 
            -
            -->
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            # Quick start
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            See [Installation](./installation.md) for the installation guide.
         | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
            ## Usage
         | 
| 11 | 
            -
             | 
| 12 | 
            -
            ### Creating new admin pages
         | 
| 13 | 
            -
             | 
| 14 | 
            -
            ```bash
         | 
| 15 | 
            -
            bundle exec rails generate super:resource Thing # check out the `--help` option!
         | 
| 16 | 
            -
            ```
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            The example above will create a controller called `Admin::ThingsController`. It
         | 
| 19 | 
            -
            generates a `Controls` class inside the controller as well; it's where most
         | 
| 20 | 
            -
            configuration lives. See the documentation on [Controls](./controls.md) for more
         | 
| 21 | 
            -
            info.
         | 
| 22 | 
            -
             | 
| 23 | 
            -
            You'll have to manually update your routes file. It'll probably look something
         | 
| 24 | 
            -
            like the following:
         | 
| 25 | 
            -
             | 
| 26 | 
            -
            ```ruby
         | 
| 27 | 
            -
            namespace :admin do
         | 
| 28 | 
            -
              resources :things
         | 
| 29 | 
            -
            end
         | 
| 30 | 
            -
            ```
         | 
    
        data/docs/webpacker.md
    DELETED
    
    | @@ -1,25 +0,0 @@ | |
| 1 | 
            -
            <!--
         | 
| 2 | 
            -
            # @title Webpacker
         | 
| 3 | 
            -
            -->
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            # Installation with Webpacker
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            Super supports using Webpacker instead of Sprockets. You'll first need to set up
         | 
| 8 | 
            -
            Webpacker to handle ERB templates.
         | 
| 9 | 
            -
             | 
| 10 | 
            -
            After installing Super (see the [Installation guide](./installation.md)), run
         | 
| 11 | 
            -
            one the following:
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            ## Webpacker 4 and 5
         | 
| 14 | 
            -
             | 
| 15 | 
            -
            ```bash
         | 
| 16 | 
            -
            bundle exec rails webpacker:install:erb # if you haven't already
         | 
| 17 | 
            -
            bundle exec rails generate super:webpacker
         | 
| 18 | 
            -
            ```
         | 
| 19 | 
            -
             | 
| 20 | 
            -
            ## Webpacker 6
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            ```bash
         | 
| 23 | 
            -
            yarn add rails-erb-loader # if you haven't already
         | 
| 24 | 
            -
            bundle exec rails generate super:webpacker
         | 
| 25 | 
            -
            ```
         | 
    
        data/docs/yard_customizations.rb
    DELETED
    
    | @@ -1,43 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            require "yard"
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            module FixRelativeLinks
         | 
| 6 | 
            -
              def resolve_links(html)
         | 
| 7 | 
            -
                html = html.gsub(%r{<a href="([^"]+)">([^<]+)</a>}) do
         | 
| 8 | 
            -
                  resolve_link_to_docs_subdir(full_match: $&, href: $1, content: $2)
         | 
| 9 | 
            -
                end
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                html = html.gsub(%r{(<pre[^<]+)?<code[^>]*>([^<]+)</code>}) do
         | 
| 12 | 
            -
                  resolve_link_to_code(full_match: $&, pre: $1, code: $2)
         | 
| 13 | 
            -
                end
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                super(html)
         | 
| 16 | 
            -
              end
         | 
| 17 | 
            -
             | 
| 18 | 
            -
              def resolve_link_to_docs_subdir(full_match:, href:, content:)
         | 
| 19 | 
            -
                if href =~ /\bdocs\b/
         | 
| 20 | 
            -
                  %({file:#{href} #{content}})
         | 
| 21 | 
            -
                else
         | 
| 22 | 
            -
                  full_match
         | 
| 23 | 
            -
                end
         | 
| 24 | 
            -
              end
         | 
| 25 | 
            -
             | 
| 26 | 
            -
              def resolve_link_to_code(full_match:, pre:, code:)
         | 
| 27 | 
            -
                if pre
         | 
| 28 | 
            -
                  return full_match
         | 
| 29 | 
            -
                end
         | 
| 30 | 
            -
             | 
| 31 | 
            -
                if code.include?("\n")
         | 
| 32 | 
            -
                  return full_match
         | 
| 33 | 
            -
                end
         | 
| 34 | 
            -
             | 
| 35 | 
            -
                if !code.start_with?("Super::")
         | 
| 36 | 
            -
                  return full_match
         | 
| 37 | 
            -
                end
         | 
| 38 | 
            -
             | 
| 39 | 
            -
                "{#{code}}"
         | 
| 40 | 
            -
              end
         | 
| 41 | 
            -
            end
         | 
| 42 | 
            -
             | 
| 43 | 
            -
            YARD::Templates::Template.extra_includes << FixRelativeLinks
         | 
| @@ -1,15 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            module Super
         | 
| 4 | 
            -
              class Controls
         | 
| 5 | 
            -
                # Methods for `Controls` that must be defined for Super to work properly
         | 
| 6 | 
            -
                module Required
         | 
| 7 | 
            -
                  # Specifies the model. This is a required method
         | 
| 8 | 
            -
                  #
         | 
| 9 | 
            -
                  # @return [ActiveRecord::Base]
         | 
| 10 | 
            -
                  def model
         | 
| 11 | 
            -
                    raise NotImplementedError
         | 
| 12 | 
            -
                  end
         | 
| 13 | 
            -
                end
         | 
| 14 | 
            -
              end
         | 
| 15 | 
            -
            end
         |