motor-admin 0.2.27 → 0.2.31
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/app/controllers/motor/active_storage_attachments_controller.rb +11 -2
- data/lib/motor/active_record_utils/types.rb +2 -1
- data/lib/motor/build_schema/active_storage_attachment_schema.rb +1 -1
- data/lib/motor/resources/fetch_configured_model.rb +20 -7
- data/lib/motor/version.rb +1 -1
- data/ui/dist/main-bbd8f938004172b512b9.css.gz +0 -0
- data/ui/dist/main-bbd8f938004172b512b9.js.gz +0 -0
- data/ui/dist/manifest.json +5 -5
- metadata +4 -4
- data/ui/dist/main-9f6b19ff999e209e9d33.css.gz +0 -0
- data/ui/dist/main-9f6b19ff999e209e9d33.js.gz +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8730558d792eeae0e0468acf367e89e7c9ff55e6fe59c64ff1b8f769fa04e554
         | 
| 4 | 
            +
              data.tar.gz: 40b909df7e968eb8c26aa2e06704371ed8b4bebed4d0cf8fce26100cf64d8ad8
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d1259b8f633301feaef1d0d05e54a96d5c42e841769e556e1b5382c52375633d282ce502eb87829f9dc462267c1b8e4fe31ad5f6151044b1e4d2d734c422c87d
         | 
| 7 | 
            +
              data.tar.gz: da7e9a7d859ebf45fc8ad8da2f8008cbf523ef6a3f53408d8cc31760113dfa7b459447184f14187934a627765995fc2ff83cb98571e7bec64d0a7b7d7d93f0ac
         | 
| @@ -9,8 +9,8 @@ module Motor | |
| 9 9 | 
             
                load_and_authorize_resource :attachment, class: 'ActiveStorage::Attachment', parent: false
         | 
| 10 10 |  | 
| 11 11 | 
             
                def create
         | 
| 12 | 
            -
                  if attachable?( | 
| 13 | 
            -
                     | 
| 12 | 
            +
                  if attachable?(record)
         | 
| 13 | 
            +
                    record.public_send(@attachment.name).attach(file_params)
         | 
| 14 14 |  | 
| 15 15 | 
             
                    head :ok
         | 
| 16 16 | 
             
                  else
         | 
| @@ -20,6 +20,15 @@ module Motor | |
| 20 20 |  | 
| 21 21 | 
             
                private
         | 
| 22 22 |  | 
| 23 | 
            +
                def record
         | 
| 24 | 
            +
                  record_pk = @attachment.record.class.primary_key
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  Motor::Resources::FetchConfiguredModel.call(
         | 
| 27 | 
            +
                    @attachment.record.class,
         | 
| 28 | 
            +
                    cache_key: Motor::Resource.maximum(:updated_at)
         | 
| 29 | 
            +
                  ).find_by(record_pk => @attachment.record[record_pk])
         | 
| 30 | 
            +
                end
         | 
| 31 | 
            +
             | 
| 23 32 | 
             
                def attachable?(record)
         | 
| 24 33 | 
             
                  record.respond_to?("#{@attachment.name}_attachment=") ||
         | 
| 25 34 | 
             
                    record.respond_to?("#{@attachment.name}_attachments=")
         | 
| @@ -115,7 +115,7 @@ module Motor | |
| 115 115 | 
             
                      scopes: [],
         | 
| 116 116 | 
             
                      actions: Motor::BuildSchema::Defaults.actions.reject { |e| e[:name] == 'edit' },
         | 
| 117 117 | 
             
                      tabs: Motor::BuildSchema::Defaults.tabs,
         | 
| 118 | 
            -
                      visible:  | 
| 118 | 
            +
                      visible: false
         | 
| 119 119 | 
             
                    }.with_indifferent_access
         | 
| 120 120 | 
             
                  end
         | 
| 121 121 | 
             
                  # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
         | 
| @@ -12,6 +12,7 @@ module Motor | |
| 12 12 | 
             
                  def call(model, cache_key:)
         | 
| 13 13 | 
             
                    configs = Motor::Configs::LoadFromCache.load_resources(cache_key: cache_key)
         | 
| 14 14 |  | 
| 15 | 
            +
                    return model if model.name == 'ActiveStorage::Attachment'
         | 
| 15 16 | 
             
                    return model if configs.blank? || sti_model?(model)
         | 
| 16 17 |  | 
| 17 18 | 
             
                    maybe_fetch_from_cache(
         | 
| @@ -128,7 +129,11 @@ module Motor | |
| 128 129 |  | 
| 129 130 | 
             
                    options = options.merge(config[:options] || {})
         | 
| 130 131 |  | 
| 131 | 
            -
                     | 
| 132 | 
            +
                    if config[:model_name] == 'active_storage/attachment'
         | 
| 133 | 
            +
                      klass.has_one_attached config[:name].delete_suffix('_attachment').to_sym
         | 
| 134 | 
            +
                    else
         | 
| 135 | 
            +
                      klass.has_one(config[:name].to_sym, **options.symbolize_keys)
         | 
| 136 | 
            +
                    end
         | 
| 132 137 | 
             
                  end
         | 
| 133 138 |  | 
| 134 139 | 
             
                  def configure_reflection_classes(klass, cache_key)
         | 
| @@ -143,9 +148,11 @@ module Motor | |
| 143 148 | 
             
                        ref_dup.instance_variable_set(:@klass, call(ref.klass, cache_key: cache_key))
         | 
| 144 149 | 
             
                      end
         | 
| 145 150 |  | 
| 146 | 
            -
                      klass. | 
| 151 | 
            +
                      klass.reflections[key] = ref_dup
         | 
| 147 152 | 
             
                    end
         | 
| 148 153 |  | 
| 154 | 
            +
                    klass._reflections = klass.reflections
         | 
| 155 | 
            +
             | 
| 149 156 | 
             
                    klass
         | 
| 150 157 | 
             
                  end
         | 
| 151 158 |  | 
| @@ -157,11 +164,17 @@ module Motor | |
| 157 164 |  | 
| 158 165 | 
             
                      filters = options.delete(:filters)
         | 
| 159 166 |  | 
| 160 | 
            -
                       | 
| 161 | 
            -
             | 
| 162 | 
            -
             | 
| 163 | 
            -
             | 
| 164 | 
            -
             | 
| 167 | 
            +
                      define_association(klass, association[:name], options, filters)
         | 
| 168 | 
            +
                    end
         | 
| 169 | 
            +
                  end
         | 
| 170 | 
            +
             | 
| 171 | 
            +
                  def define_association(klass, name, options, filters)
         | 
| 172 | 
            +
                    if options[:class_name] == 'ActiveStorage::Attachment'
         | 
| 173 | 
            +
                      klass.has_many_attached name.delete_suffix('_attachments').to_sym
         | 
| 174 | 
            +
                    elsif filters.present?
         | 
| 175 | 
            +
                      klass.has_many(name.to_sym, -> { filter(filters).tap(&:arel) }, **options.symbolize_keys)
         | 
| 176 | 
            +
                    else
         | 
| 177 | 
            +
                      klass.has_many(name.to_sym, **options.symbolize_keys)
         | 
| 165 178 | 
             
                    end
         | 
| 166 179 | 
             
                  end
         | 
| 167 180 |  | 
    
        data/lib/motor/version.rb
    CHANGED
    
    
| Binary file | 
| Binary file | 
    
        data/ui/dist/manifest.json
    CHANGED
    
    | @@ -2601,9 +2601,9 @@ | |
| 2601 2601 | 
             
              "icons/zoom-out.svg.gz": "icons/zoom-out.svg.gz",
         | 
| 2602 2602 | 
             
              "icons/zoom-question.svg": "icons/zoom-question.svg",
         | 
| 2603 2603 | 
             
              "icons/zoom-question.svg.gz": "icons/zoom-question.svg.gz",
         | 
| 2604 | 
            -
              "main- | 
| 2605 | 
            -
              "main- | 
| 2606 | 
            -
              "main- | 
| 2607 | 
            -
              "main.css": "main- | 
| 2608 | 
            -
              "main.js": "main- | 
| 2604 | 
            +
              "main-bbd8f938004172b512b9.css.gz": "main-bbd8f938004172b512b9.css.gz",
         | 
| 2605 | 
            +
              "main-bbd8f938004172b512b9.js.LICENSE.txt": "main-bbd8f938004172b512b9.js.LICENSE.txt",
         | 
| 2606 | 
            +
              "main-bbd8f938004172b512b9.js.gz": "main-bbd8f938004172b512b9.js.gz",
         | 
| 2607 | 
            +
              "main.css": "main-bbd8f938004172b512b9.css",
         | 
| 2608 | 
            +
              "main.js": "main-bbd8f938004172b512b9.js"
         | 
| 2609 2609 | 
             
            }
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: motor-admin
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.31
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Pete Matsyburka
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2021-11- | 
| 11 | 
            +
            date: 2021-11-25 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activerecord-filter
         | 
| @@ -1525,8 +1525,8 @@ files: | |
| 1525 1525 | 
             
            - ui/dist/icons/zoom-money.svg.gz
         | 
| 1526 1526 | 
             
            - ui/dist/icons/zoom-out.svg.gz
         | 
| 1527 1527 | 
             
            - ui/dist/icons/zoom-question.svg.gz
         | 
| 1528 | 
            -
            - ui/dist/main- | 
| 1529 | 
            -
            - ui/dist/main- | 
| 1528 | 
            +
            - ui/dist/main-bbd8f938004172b512b9.css.gz
         | 
| 1529 | 
            +
            - ui/dist/main-bbd8f938004172b512b9.js.gz
         | 
| 1530 1530 | 
             
            - ui/dist/manifest.json
         | 
| 1531 1531 | 
             
            homepage:
         | 
| 1532 1532 | 
             
            licenses:
         | 
| Binary file | 
| Binary file |