Comments (4)
UnknownTypeNameError: name=ApplicationRecord
generate_rbs_for_model
rake task generates RBSs only for not abstract classes. Because it refers to RDBMS's schema information, and abstract classes don't have a schema.
RBS Rails isn't responsible for abstract classes. If you need RBS for them, you can write the RBSs by hand or generate them with rbs prototype rb
that rbs
gem provides.
UnknownTypeNameError: name=::ActiveStorage
Currently RBS Rails haven't supported ActiveStorage yet. And the priority is not high.
So, if you need the type of ActiveStorage, you can write it yourself.
By the way, ActiveStorage
does not inherit ActiveRecord::Base
, and it is not a class.
https://github.com/rails/rails/blob/fbe2433be6e052a1acac63c7faf287c52ed3c5ba/activestorage/lib/active_storage.rb#L36
UnknownTypeNameError:** name=::ActsAsTaggableOn
What is ActsAsTaggableOn
? Is it a gem? https://github.com/mbleigh/acts-as-taggable-on
RBS Rails isn't responsible for gems except for rails.
So, you can write RBSs for them yourself. Or you can find gems from the official RBS repo (but now it has only a few gems).
from rbs_rails.
By the way, I think we need more documentation to introduce RBS Rails and Steep. I'll work on it. #68
from rbs_rails.
I'm running into very similar errors when trying to introduce RBS to my Rails app:
vendor/rbs/gem_rbs/gems/actionpack/6.0.3.2/actionpack-generated.rbs:2633:6...2633:21 UnknownTypeNameError: name=Mutex_m
vendor/rbs/gem_rbs/gems/activerecord/6.0.3.2/activerecord-generated.rbs:4547:6...4547:21 UnknownTypeNameError: name=Mutex_m
vendor/rbs/gem_rbs/gems/activerecord/6.0.3.2/activerecord-generated.rbs:18024:6...18024:21 UnknownTypeNameError: name=Mutex_m
vendor/rbs/gem_rbs/gems/activesupport/6.0.3.2/activesupport-generated.rbs:2455:2...2455:31 UnknownMethodAliasError: class_name=::Date, method_name=plus_without_duration
vendor/rbs/gem_rbs/gems/activesupport/6.0.3.2/activesupport-generated.rbs:8886:8...8886:34 UnknownTypeNameError: name=::Logger::Severity
vendor/rbs/gem_rbs/gems/activesupport/6.0.3.2/activesupport-generated.rbs:9014:2...9033:5 UnknownTypeNameError: name=::Logger
vendor/rbs/gem_rbs/gems/activesupport/6.0.3.2/activesupport-generated.rbs:9029:4...9032:7 UnknownTypeNameError: name=::Logger::Formatter
vendor/rbs/gem_rbs/gems/activesupport/6.0.3.2/activesupport-generated.rbs:9695:6...9695:21 UnknownTypeNameError: name=Mutex_m
sig/app/models/active_storage/attachment.rbs:1:0...87:3 UnknownTypeNameError: name=::ActiveStorage
sig/app/models/active_storage/attachment.rbs:89:0...94:3 UnknownTypeNameError: name=::ActiveStorage
sig/app/models/active_storage/attachment.rbs:96:0...97:3 UnknownTypeNameError: name=::ActiveStorage
sig/app/models/active_storage/blob.rbs:1:0...127:3 UnknownTypeNameError: name=::ActiveStorage
sig/app/models/active_storage/blob.rbs:129:0...134:3 UnknownTypeNameError: name=::ActiveStorage
sig/app/models/active_storage/blob.rbs:136:0...137:3 UnknownTypeNameError: name=::ActiveStorage
sig/app/models/active_storage/variant_record.rbs:1:0...59:3 UnknownTypeNameError: name=::ActiveStorage
sig/app/models/active_storage/variant_record.rbs:61:0...66:3 UnknownTypeNameError: name=::ActiveStorage
sig/app/models/active_storage/variant_record.rbs:68:0...69:3 UnknownTypeNameError: name=::ActiveStorage
sig/app/models/company.rbs:1:0...85:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/doorkeeper/access_grant.rbs:1:0...114:3 UnknownTypeNameError: name=::Doorkeeper
sig/app/models/doorkeeper/access_grant.rbs:116:0...121:3 UnknownTypeNameError: name=::Doorkeeper
sig/app/models/doorkeeper/access_grant.rbs:123:0...124:3 UnknownTypeNameError: name=::Doorkeeper
sig/app/models/doorkeeper/access_token.rbs:1:0...125:3 UnknownTypeNameError: name=::Doorkeeper
sig/app/models/doorkeeper/access_token.rbs:127:0...132:3 UnknownTypeNameError: name=::Doorkeeper
sig/app/models/doorkeeper/access_token.rbs:134:0...135:3 UnknownTypeNameError: name=::Doorkeeper
sig/app/models/doorkeeper/application.rbs:1:0...152:3 UnknownTypeNameError: name=::Doorkeeper
sig/app/models/doorkeeper/application.rbs:154:0...159:3 UnknownTypeNameError: name=::Doorkeeper
sig/app/models/doorkeeper/application.rbs:161:0...162:3 UnknownTypeNameError: name=::Doorkeeper
sig/app/models/engine.rbs:1:0...77:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/event.rbs:1:0...126:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/external_account.rbs:1:0...93:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/favorite_game.rbs:1:0...79:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/game.rbs:1:0...239:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/game_developer.rbs:1:0...76:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/game_engine.rbs:1:0...76:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/game_genre.rbs:1:0...76:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/game_platform.rbs:1:0...76:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/game_publisher.rbs:1:0...76:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/game_purchase.rbs:1:0...191:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/game_purchase_platform.rbs:1:0...76:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/game_purchase_store.rbs:1:0...76:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/genre.rbs:1:0...77:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/platform.rbs:1:0...85:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/relationship.rbs:1:0...79:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/series.rbs:1:0...73:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/statistic.rbs:1:0...274:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/steam_app_id.rbs:1:0...48:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/steam_blocklist.rbs:1:0...81:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/store.rbs:1:0...61:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/user.rbs:1:0...363:3 UnknownTypeNameError: name=ApplicationRecord
sig/app/models/wikidata_blocklist.rbs:1:0...81:3 UnknownTypeNameError: name=ApplicationRecord
I think rbs_rails should definitely create a signature file for ApplicationRecord at the very least, since that's something every Rails app will have. I'd definitely like better docs for how to set this up :)
Thank you for your work, @pocke!
from rbs_rails.
@connorshea Thanks for your feedback!
I think it needs to generate all superclasses of ActiveRecord models, including ApplicationRecord.
For example:
# Ruby files
class User < ApplicationRecord
end
class Article < AnotherApplicationRecord
end
# RBS files
class ApplicationRecord < ActiveRecord::Base
end
class AnotherApplicationRecord < ActiveRecord::Base
end
class User < ApplicationRecord
end
class Article < AnotherApplicationRecord
end
I'll implement it with #77 because #77 also needs to generate superclasses.
By the way, I guess you need to require some library, such as Mutex_m
, Logger
, etc.
And I haven't generated ActiveStorage's RBS yet, so you need to write the RBS by hand for now
from rbs_rails.
Related Issues (20)
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Dependabot can't resolve your Ruby dependency files
- Can not use with library 'activestorage' HOT 3
- Incorrectly marks ActiveRecord accessors as being non-nil
- NoMethodError error on enum with `_default` option set
- rbs_rails doesn't generate definitions for ActiveRecord DSLs within module HOT 1
- generated rbs for activerecord models does not respect `serialize`
- How to skip a method from gems? HOT 2
- How to fix `Cannot find compatible overloading of method`?
- Unexpected token for method name HOT 2
- Generator breaks on using composite primary key. HOT 3
- RBS Rails writes blanks HOT 3
- How to fix `NameError: uninitialized constant Star::Notification` HOT 8
- Output absolute type name
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 rbs_rails.