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


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

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



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

def backend
  @backend
end

#hostsObject

Returns the value of attribute hosts.



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

def hosts
  @hosts
end

Instance Method Details

#errObject

The last error reported by the backend.



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

def err
  @backend.lasterr
end

#errstrObject

The last error message reported by the backend.



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

def errstr
  @backend.lasterrstr
end

#readonly?Boolean

Is this a read-only client?

Returns:

  • (Boolean)


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

def readonly?
  @readonly
end

#reloadObject

Creates a new MogileFS::Backend.



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

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