Class: Orthoses::Outputable::AvoidRecursiveAncestorError

Inherits:
Object
  • Object
show all
Defined in:
lib/orthoses/outputable/avoid_recursive_ancestor_error.rb

Overview

AvoidRecursiveAncestorError is an internal middleware It’s using on orthoses/outputable.rb

Instance Method Summary collapse

Constructor Details

#initialize(loader) ⇒ AvoidRecursiveAncestorError

Returns a new instance of AvoidRecursiveAncestorError.



8
9
10
# File 'lib/orthoses/outputable/avoid_recursive_ancestor_error.rb', line 8

def initialize(loader)
  @loader = loader
end

Instance Method Details

#callObject



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/orthoses/outputable/avoid_recursive_ancestor_error.rb', line 12

def call
  @loader.call.tap do |store|
    next if !store.key?("Object")
    next if store["Object"].body.empty?

    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