Sha256: 43ba0306829ed2d59c65ff5713457f4e1c02755aea9a89ed088405398ab4fe7d
Contents?: true
Size: 983 Bytes
Versions: 3
Compression:
Stored size: 983 Bytes
Contents
# frozen_string_literal: true module Orthoses module Outputable # AvoidRecursiveAncestorError is an internal middleware # It's using on orthoses/outputable.rb class AvoidRecursiveAncestorError def initialize(loader) @loader = loader end def call @loader.call.tap do |store| object_mixins = {} collect_mixin_recursive(store, "Object", object_mixins) object_mixins.each_key do |object_mixin| store[object_mixin].header = "module #{object_mixin} : BasicObject" end end end private def collect_mixin_recursive(store, name, mixins) store[name].to_decl.members.each do |member| case member when RBS::AST::Members::Mixin member_name = member.name.relative!.to_s mixins[member_name] = true collect_mixin_recursive(store, member_name, mixins) end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems