code: def implements interfaces
        file_path = caller.first.match(/(?:^|#{Dir.pwd}\/)([^\/].*):\d+:in .+/)[1]
        interfaces.each do |method_name, required_params|
          λ = Spectro::Database.fetch(file_path, method_name, *required_params) || Spectro::Mock.create(file_path, method_name)
  
          raise Spectro::Exception::UndefinedMethodDefinition.new(file_path, method_name) if λ.nil?
  
          self.send(:define_method, method_name, &λ)
        end
      end
docs: Register the given method name supporting the given parameters.
  
   Whenever Spectro::Config.mocks_enabled? is true it will try to cover unfulfilled
   specs using the known rules as mocks.
  
   @param [{String, Symbol=><String, Symbol>}] interfaces hash of method names and required param names supported by the method