metaprogramming/extend_sees_later_methods.rb
tests/_examples/metaprogramming/extend_sees_later_methods.rb in the metorex repository.
module Rates
def load_rates = :first_version
extend(self)
end
module Rates
def load_rates = :second_version
end
module Tariffs
def lookup = :first_version
end
module Registry
extend(Tariffs)
end
module Tariffs
def lookup = :second_version
end
p(Rates.load_rates)
p(Registry.lookup)
Output:
:second_version
:second_version