module Core end
    module Core::BaseService
      extend self
    
      def bar
        puts 'bar'
      end
    end    require_relative './base_service.rb'
    
    module Core::Payments
    	module Service 
    	    extend self, Core::BaseService
    	    
			def fuu
				puts 'fuuu'
			end
    	end
    end
    
    Core::Payments::Service.bar # => 'bar'
    Core::Payments::Service.fuu # => 'fuuu'lib
|
|---core
    |
    |---base_service.rb
    |---payments
        |
        |---service.rb
        |---confing_or_something.rb
module_function makes the given instance methods private, then duplicates and
puts them into the module's metaclass as public methods.
extend self adds all instance methods to the module's singleton, leaving their visibilities unchanged.
    module Mathematics
      extend self
    
      def calc
        42
      end
    end  module Mathematics
    module_function
    def calc
      42
    end
  endSee more: https://idiosyncratic-ruby.com/8-self-improvement.html