Actions
Feature #18047
closedTracePoint: Add event type for constant access
Status:
Feedback
Assignee:
-
Target version:
-
Description
Hi there
We've made a PR to add new :constant_access TracePoint event. https://github.com/ruby/ruby/pull/4683
Burke Libbey made some first steps on this idea a few years ago #13133 and we improved his patch based on the comment by ko1.
As mentioned in the issue above, this patch allows us to enable boundaries between packages/components.
Burke's proof-of-concept gem might help you understand more concrete usage of this patch.
The proof-of-concept gem works like the below and this will help us manage large codebases with lots of dependencies.
package 'product'
class Book < ApplicationRecord
belongs_to :user
end
package 'user'
class User < ApplicationRecord
has_many :books
end
user = User.first
user.books
# => VisibilityError (can't access Book from User)
Actions
Like0
Like0Like0