Module: Finalist::ModuleMethods

Defined in:
lib/finalist.rb

Instance Method Summary collapse

Instance Method Details

#extend(mod) ⇒ Object



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/finalist.rb', line 100

def extend(mod)
  super

  singleton_class.ancestors.drop(1).each do |mod|
    Finalist.finalized_methods[mod]&.each do |final_method_name|
      meth =
        begin
          singleton_class.instance_method(final_method_name)
        rescue NoMethodError
          nil
        end

      verify_final_method(meth, :extend) if meth
    end
  end
end

#include(mod) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/finalist.rb', line 83

def include(mod)
  super

  ancestors.drop(1).each do |mod|
    Finalist.finalized_methods[mod]&.each do |final_method_name|
      meth =
        begin
          instance_method(final_method_name)
        rescue NoMethodError
          nil
        end

      verify_final_method(meth, :include) if meth
    end
  end
end