Comments (4)
Here are some reproduction steps with rails 6.1.7, but under Zeitwerk:
rails new testapp --skip-webpack-install --skip-javascript
Flip config.eager_load
to true
in config/environments/development.rb
.
Then edit config/initializers/inflections.rb
to have:
ActiveSupport::Inflector.inflections do |inflect|
inflect.acronym 'CSV'
end
And finally add gem 'maintenance_tasks'
to Gemfile
.
When you try to launch a console, it'll crash.
This is due to the fact that Rails doesn't isolate inflections to the main application, thus requiring something like:
Rails.autoloaders.each do |autoloader|
autoloader.inflector.inflect(
'batch_csv_collection_builder' => 'BatchCsvCollectionBuilder',
'csv_collection_builder' => 'CsvCollectionBuilder',
)
end
from maintenance_tasks.
Yeah we've noticed in #620 and dropped support for it for v2.0.0.
I think you could work around that issue, but I can't reproduce it myself. I've created a rails 6.1.6 app, installed active storage, installed the gem, set config.autoloader = :classic
and in development set config.eager_load = true
, but when I start the console it doesn't raise the issue.
I've also tried adding an inflection in config/initializers/inflections.rb
:
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.acronym "CSV"
end
Can you give me repro steps? From there we should be able to require the file and avoid the eager-loading issue.
from maintenance_tasks.
Cheers @drcapulet. For anyone curious about the zeitwerk inflections mentioned in #642 (comment)
- 📖 Check out https://guides.rubyonrails.org/autoloading_and_reloading_constants.html#customizing-inflections
- Add
bin/rails zeitwerk:check
to your CI build, this will catch any autoload errors that would otherwise show up ineager_load
https://guides.rubyonrails.org/autoloading_and_reloading_constants.html#manual-testing
from maintenance_tasks.
This issue has been marked as stale because it has not been commented on in two months.
Please reply in order to keep the issue open. Otherwise, it will close in 14 days.
Thank you for contributing!
from maintenance_tasks.
Related Issues (20)
- Weekly CI run failed
- Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s) HOT 1
- Weekly CI run failed HOT 1
- How do we set `limit`? HOT 8
- No callback is called after Interrupted -> Resumed HOT 5
- Release notes HOT 1
- Web UI and Rails API mode HOT 2
- CSV Task Failure: ActiveRecord::NotNullViolation Error on UUID record_id HOT 2
- please add a CHANGELOG.md file HOT 4
- Weekly CI run failed
- Weekly CI run failed HOT 1
- Weekly CI run failed HOT 1
- Weekly CI run failed HOT 1
- CSV count wrong when new line in cell HOT 8
- Weekly CI run failed HOT 1
- Sorbet typing in templates HOT 1
- Figure out slow system tests
- Ensure `Rack::MethodOverride` HOT 4
- Weekly CI run failed
- Weekly CI run failed HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maintenance_tasks.