Module: Tapioca::Trackers::Mixin
- Extended by:
- T::Sig
- Defined in:
- lib/tapioca/trackers/mixin.rb
Defined Under Namespace
Classes: Type
Class Method Summary collapse
Class Method Details
.mixin_locations_for(constant) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/tapioca/trackers/mixin.rb', line 35 def self.mixin_locations_for(constant) @mixin_map[constant] ||= { Type::Prepend => {}.compare_by_identity, Type::Include => {}.compare_by_identity, Type::Extend => {}.compare_by_identity, } end |
.register(constant, mod, mixin_type, locations) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/tapioca/trackers/mixin.rb', line 27 def self.register(constant, mod, mixin_type, locations) locations ||= [] locations.map!(&:absolute_path).uniq! locs = mixin_locations_for(constant) locs.fetch(mixin_type).store(mod, T.cast(locations, T::Array[String])) end |