Sha256: 86245755a9cc5edfe780fdcfdbc45ac9a9a46afa4e7cc7106b74c1c913f88ae3

Contents?: true

Size: 1.13 KB

Versions: 5

Compression:

Stored size: 1.13 KB

Contents

module ForestAdminDatasourceCustomizer
  module Decorators
    module RenameCollection
      class RenameCollectionDecorator < ForestAdminDatasourceToolkit::Decorators::CollectionDecorator
        include ForestAdminDatasourceToolkit::Decorators
        include ForestAdminDatasourceToolkit::Components::Query::ConditionTree

        def name
          datasource.get_collection_name(super)
        end

        def refine_schema(sub_schema)
          fields = {}

          sub_schema[:fields].each do |name, old_schema|
            if old_schema.type != 'Column'
              old_schema.foreign_collection = datasource.get_collection_name(old_schema.foreign_collection)
              if old_schema.type == 'ManyToMany'
                old_schema.through_collection = datasource.get_collection_name(old_schema.through_collection)
              end
            end

            fields[name] = old_schema
          end

          sub_schema
        end

        # rubocop:disable Lint/UselessMethodDefinition
        def mark_schema_as_dirty
          super
        end
        # rubocop:enable Lint/UselessMethodDefinition
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
forest_admin_datasource_customizer-1.0.0.pre.beta.61 lib/forest_admin_datasource_customizer/decorators/rename_collection/rename_collection_decorator.rb
forest_admin_datasource_customizer-1.0.0.pre.beta.60 lib/forest_admin_datasource_customizer/decorators/rename_collection/rename_collection_decorator.rb
forest_admin_datasource_customizer-1.0.0.pre.beta.59 lib/forest_admin_datasource_customizer/decorators/rename_collection/rename_collection_decorator.rb
forest_admin_datasource_customizer-1.0.0.pre.beta.58 lib/forest_admin_datasource_customizer/decorators/rename_collection/rename_collection_decorator.rb
forest_admin_datasource_customizer-1.0.0.pre.beta.57 lib/forest_admin_datasource_customizer/decorators/rename_collection/rename_collection_decorator.rb