# File 'lib/drb/unix.rb', line 62definitialize(uri,soc,config={},server_mode=false)super(uri,soc,config)set_sockopt(@socket)@server_mode=server_mode@acl=nilend
Class Method Details
.open(uri, config) ⇒ Object
28
29
30
31
32
# File 'lib/drb/unix.rb', line 28defself.open(uri,config)filename,=parse_uri(uri)soc=UNIXSocket.open(filename)self.new(uri,soc,config)end
# File 'lib/drb/unix.rb', line 34defself.open_server(uri,config)filename,=parse_uri(uri)iffilename.size==0soc=temp_serverfilename=soc.pathuri='drbunix:'+soc.pathelsesoc=UNIXServer.open(filename)endowner=config[:UNIXFileOwner]group=config[:UNIXFileGroup]ifowner||grouprequire'etc'owner=Etc.getpwnam(owner).uidifownergroup=Etc.getgrnam(group).gidifgroupFile.chownowner,group,filenameendmode=config[:UNIXFileMode]File.chmod(mode,filename)ifmodeself.new(uri,soc,config,true)end
.parse_uri(uri) ⇒ Object
:stopdoc:
17
18
19
20
21
22
23
24
25
26
# File 'lib/drb/unix.rb', line 17defself.parse_uri(uri)if/\Adrbunix:(.*?)(\?(.*))?\z/=~urifilename=$1option=$3[filename,option]elseraise(DRbBadScheme,uri)unlessuri.start_with?('drbunix:')raise(DRbBadURI,'can\'t parse uri:'+uri)endend