Class: MogileFS::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/mogilefs/client.rb

Overview

MogileFS::Client is the MogileFS client base class. Concrete clients like MogileFS::MogileFS and MogileFS::Admin are implemented atop this one to do real work.

Direct Known Subclasses

Admin, MogileFS

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Client

Creates a new Client. See MogileFS::Backend#initialize for how to specify hosts. If :readonly is set to true, the client will not modify anything on the server.

MogileFS::Client.new :hosts => ['kaa:6001', 'ziz:6001'], :readonly => true


25
26
27
28
29
30
31
# File 'lib/mogilefs/client.rb', line 25

def initialize(args)
  @hosts = args[:hosts]
  @readonly = args[:readonly] ? true : false
  @timeout = args[:timeout]

  reload
end

Instance Attribute Details

#backendObject (readonly)

The backend connection for this client



14
15
16
# File 'lib/mogilefs/client.rb', line 14

def backend
  @backend
end

#hostsObject

Returns the value of attribute hosts.



16
17
18
# File 'lib/mogilefs/client.rb', line 16

def hosts
  @hosts
end

Instance Method Details

#errObject

The last error reported by the backend.



43
44
45
# File 'lib/mogilefs/client.rb', line 43

def err
  @backend.lasterr
end

#errstrObject

The last error message reported by the backend.



50
51
52
# File 'lib/mogilefs/client.rb', line 50

def errstr
  @backend.lasterrstr
end

#readonly?Boolean

Is this a read-only client?

Returns:

  • (Boolean)


57
58
59
# File 'lib/mogilefs/client.rb', line 57

def readonly?
  @readonly
end

#reloadObject

Creates a new MogileFS::Backend.



36
37
38
# File 'lib/mogilefs/client.rb', line 36

def reload
  @backend = MogileFS::Backend.new :hosts => @hosts, :timeout => @timeout
end