chore: remove deprecated ORM generators (DataMapper, MongoMapper, CouchRest, Ripple)#2320
Conversation
There was a problem hiding this comment.
Pull request overview
Removes generator and admin scaffolding support for four deprecated/unmaintained ORMs (DataMapper, MongoMapper, CouchRest, Ripple) across padrino-gen and padrino-admin, and updates tests/docs/templates accordingly.
Changes:
- Deleted ORM-specific generator components and rake tasks for DataMapper, MongoMapper, CouchRest, and Ripple.
- Simplified admin generator ORM handling to the remaining supported adapters and removed DataMapper middleware insertion.
- Updated tests and documentation to stop referencing removed ORMs (generally switching fixtures/tests to Sequel).
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| padrino-helpers/test/fixtures/apps/.components | Updates fixture to use :orm: none instead of DataMapper. |
| padrino-gen/test/test_project_generator.rb | Switches tests from DataMapper to Sequel; removes removed-ORM test cases. |
| padrino-gen/test/test_model_generator.rb | Switches setup ORM to Sequel and removes removed-ORM model generator coverage. |
| padrino-gen/test/test_migration_generator.rb | Removes DataMapper migration generator tests; keeps Sequel path. |
| padrino-gen/lib/padrino-gen/padrino-tasks/mongomapper.rb | Deletes MongoMapper rake tasks. |
| padrino-gen/lib/padrino-gen/padrino-tasks/datamapper.rb | Deletes DataMapper rake tasks. |
| padrino-gen/lib/padrino-gen/generators/components/orms/ripple.rb | Deletes Ripple ORM generator component. |
| padrino-gen/lib/padrino-gen/generators/components/orms/mongomapper.rb | Deletes MongoMapper ORM generator component. |
| padrino-gen/lib/padrino-gen/generators/components/orms/datamapper.rb | Deletes DataMapper ORM generator component (incl. IdentityMap middleware template). |
| padrino-gen/lib/padrino-gen/generators/components/orms/couchrest.rb | Deletes CouchRest ORM generator component. |
| padrino-gen/lib/padrino-gen/generators/actions.rb | Generalizes inline docs/example away from DataMapper. |
| padrino-gen/README.rdoc | Updates example and supported ORM list to remove deprecated ORMs. |
| padrino-core/lib/padrino-core/loader.rb | Generalizes inline docs/example away from DataMapper. |
| padrino-admin/test/generators/test_admin_app_generator.rb | Updates generator tests to use Sequel; removes DataMapper-specific middleware expectations. |
| padrino-admin/test/generators/test_account_model_generator.rb | Removes account template tests for removed ORMs. |
| padrino-admin/lib/padrino-admin/generators/templates/slim/app/base/index.slim.tt | Updates admin landing tooltip ORM list to remove deprecated ORMs. |
| padrino-admin/lib/padrino-admin/generators/templates/haml/app/base/index.haml.tt | Updates admin landing tooltip ORM list to remove deprecated ORMs. |
| padrino-admin/lib/padrino-admin/generators/templates/erb/app/base/index.erb.tt | Updates admin landing tooltip ORM list to remove deprecated ORMs. |
| padrino-admin/lib/padrino-admin/generators/templates/account/mongomapper.rb.tt | Deletes MongoMapper account model template. |
| padrino-admin/lib/padrino-admin/generators/templates/account/datamapper.rb.tt | Deletes DataMapper account model template. |
| padrino-admin/lib/padrino-admin/generators/templates/account/couchrest.rb.tt | Deletes CouchRest account model template. |
| padrino-admin/lib/padrino-admin/generators/orm.rb | Removes removed-ORM branches and helpers from admin ORM abstraction. |
| padrino-admin/lib/padrino-admin/generators/admin_app.rb | Removes DataMapper IdentityMap middleware insertion; updates DB instructions list. |
| padrino-admin/lib/padrino-admin/generators/actions.rb | Updates supported ORM list to drop removed adapters. |
| padrino-admin/lib/padrino-admin.rb | Updates module-level feature blurb to reflect current ORM support. |
| padrino-admin/README.rdoc | Updates documented supported ORM list. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| div class="base-icons" | ||
| div class="btn-group" | ||
| div class="btn btn-primary" title="Adapters for datamapper, sequel, activerecord, minirecord, mongomapper, mongoid, couchrest" = tag_icon("cogs fa-2x", "Orm Agnostic") | ||
| div class="btn btn-primary" title="Adapters for sequel, activerecord, minirecord, mongoid" = tag_icon("cogs fa-2x", "Orm Agnostic") |
There was a problem hiding this comment.
The admin landing page tooltip lists supported ORMs, but it omits ohm and dynamoid, which are still supported by the admin generator. Update the title text to include all supported adapters (or make it generic) to avoid misleading users.
| div class="btn btn-primary" title="Adapters for sequel, activerecord, minirecord, mongoid" = tag_icon("cogs fa-2x", "Orm Agnostic") | |
| div class="btn btn-primary" title="Adapters for sequel, activerecord, minirecord, mongoid, ohm, dynamoid" = tag_icon("cogs fa-2x", "Orm Agnostic") |
| .base-icons | ||
| .btn-group | ||
| .btn.btn-primary{title: 'Adapters for datamapper, sequel, activerecord, minirecord, mongomapper, mongoid, couchrest'} | ||
| .btn.btn-primary{title: 'Adapters for sequel, activerecord, minirecord, mongoid'} |
There was a problem hiding this comment.
The tooltip text here lists supported ORMs but does not include ohm and dynamoid, which are in the current supported ORM list for the admin generator. Please update the list (or reword to avoid enumerating adapters) so the UI text stays accurate.
| .btn.btn-primary{title: 'Adapters for sequel, activerecord, minirecord, mongoid'} | |
| .btn.btn-primary{title: 'Adapters for multiple ORMs and data stores'} |
| <div class=base-icons> | ||
| <div class=btn-group> | ||
| <div class="btn btn-primary" title="Adapters for datamapper, sequel, activerecord, minirecord, mongomapper, mongoid, couchrest"><%%= tag_icon("cogs fa-2x", "Orm Agnostic") %></div> | ||
| <div class="btn btn-primary" title="Adapters for sequel, activerecord, minirecord, mongoid"><%%= tag_icon("cogs fa-2x", "Orm Agnostic") %></div> |
There was a problem hiding this comment.
This tooltip enumerates supported ORMs but omits ohm and dynamoid, which are still supported by the admin generator. Update the title attribute to reflect the full supported set (or avoid hard-coding a list) so users aren’t misled.
| <div class="btn btn-primary" title="Adapters for sequel, activerecord, minirecord, mongoid"><%%= tag_icon("cogs fa-2x", "Orm Agnostic") %></div> | |
| <div class="btn btn-primary" title="Adapters for multiple Ruby ORMs"><%%= tag_icon("cogs fa-2x", "Orm Agnostic") %></div> |
| Orm Agnostic:: Data Adapters for Activerecord, Sequel, Mongoid, Ohm, Dynamoid | ||
| Template Agnostic:: Erb, Erubis and Haml Renderer | ||
| Authentication:: Support for Account authentication, Account Permission management | ||
| Scaffold:: You can simply create a new "admin interface" by providing a Model |
There was a problem hiding this comment.
This ORM list is missing MiniRecord, which is still supported by the admin generator. Also, further down this README still references DataMapper-specific rake tasks (e.g., dm:migrate, dm:auto:migrate); those instructions should be updated/removed now that DataMapper support is being removed.
| mock:: none (default), mocha, rr | ||
| script:: none (default), jquery, prototype, mootools, extcore, dojo | ||
| orm:: none (default), datamapper, mongomapper, mongoid, activerecord, minirecord, sequel, couchrest, ohm, mongomatic, ripple, dynamoid | ||
| orm:: none (default), mongoid, activerecord, minirecord, sequel, ohm, mongomatic, dynamoid |
There was a problem hiding this comment.
The PR description lists the “remaining supported ORMs” but doesn’t mention mongomatic, while this README still documents mongomatic as supported (and the generator still exists). Please align the PR description and documentation: either include mongomatic in the supported list or remove/flag its generator support.
|
Tested locally on Ruby 3.3.1 — all 1,412 tests pass (5,236 assertions, 0 failures) across all 9 sub-gems. Reviewed the full diff (26 files, +29/-1011 lines). Clean removal — no remaining references to the 4 removed ORMs in any Minor note (non-blocking, pre-existing): Otherwise, LGTM ✅ Merging |
What changed
Remaining supported ORMs: ActiveRecord, MiniRecord, Mongoid, Sequel, Ohm, Mongomatic, Dynamoid